문제 풀이에 대한 오류 지적 및 개선 방향 제시는 항상 환영합니다.
알고리즘 문제를 엄청 잘 풀고 막 문제 보자마자 아 이거네 쉽네 ㅎㅎ 이렇게 푸는 입장이 아니라서
그 어떤 문제에 대한 비판 지적 방향 제시는 언제나 감사하게 받겠습니다.
이 문제가 올라가는 저장소 https://github.com/hwk0911/Junit-TDD
문제
정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오.
작성해야 하는 함수는 다음과 같다.
long long sum(int *a, int n);
a
: 합을 구해야 하는 정수 n
개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)n
: 합을 구해야 하는 정수의 개수n
개의 합long long sum(std::vector<int> &a);
a
: 합을 구해야 하는 정수 n
개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)a
에 포함되어 있는 정수 n
개의 합def solve(a: list) -> int
a
: 합을 구해야 하는 정수 n
개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)a
에 포함되어 있는 정수 n
개의 합 (정수)long sum(int[] a);
(클래스 이름: Test)
a
: 합을 구해야 하는 정수 n
개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)a
에 포함되어 있는 정수 n
개의 합sum(a []int) int
a
: 합을 구해야 하는 정수 n
개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)a
에 포함되어 있는 정수 n
개의 합C++14, Java, Python 3, C11, PyPy3, C, C++, C++11, C++17, Python 2, PyPy2, Go, C (Clang), C++ (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)
오랜만에 BOJ의 문제를 몇 개 풀어봤는데, 신기하게도 함수를 구현하는 문제들이 생겼다!
기쁜 마음에 풀어봤다.
문제 자체는 단순히 n개의 정수를 합한 값을 long 값으로 리턴하는 함수를 구현하는 문제다.
n개의 정수는 배열로 주어진다.
Solution.java
import java.util.Arrays;
public class BOJ_Function_15596_정수N개의합 {
public long sum(int[] a){
long result = 0;
for(int index : a){
result += index;
}
return result;
}
}
SolutionTest.java
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class BOJ_Function_15596_정수N개의합Test {
@Test
void sum() {
BOJ_Function_15596_정수N개의합 bf = new BOJ_Function_15596_정수N개의합();
int[] a = {1,2,3,4,5};
assertEquals(15, bf.sum(a));
}
}
+ 예전부터 BOJ문제를 풀 때 최대한 머릿속으로 최적화를 진행해(필자의 문제점이다.) 문제를 풀었다.
그러면 남들보다 살짝이라도 빠른 시간이 나오는데, 그게 너무 좋아서 문제를 더 풀기도 했다.
처음 보고 재귀 함수로 해결할까 했는데, n의 범위가 지정되어있지 않아 포기했다.
BOJ_Math1_1712_손익분기점 (Java) (0) | 2020.02.21 |
---|---|
Programmers_Sort_2_가장 큰 수 (Java) (0) | 2020.02.20 |
프로그래머스_정렬_K번째수 (PriorityQueue 방식 과 QuickSort 방식) (Java) (0) | 2020.01.30 |
프로그래머스_힙_이중우선순위큐 (Java) (0) | 2020.01.28 |
프로그래머스_해시_완주하지 못한 선수 (Java) (0) | 2020.01.28 |