https://www.acmicpc.net/problem/11023
수 N개가 주어졌을 때, N개의 합을 구하는 프로그램을 작성하시오.
첫째 줄에 N(1 ≤ N ≤ 100)개의 수가 공백으로 구분되어서 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 또, 0으로 시작하는 수는 주어지지 않는다.
입력받은 수 N개의 합을 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Num11023 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 문자열을 공백으로 구분해서 토큰에 저장
StringTokenizer st = new StringTokenizer(br.readLine());
// 토큰의 수를 저장
int count = st.countTokens();
int sum = 0;
for (int i = 0; i < count; i++) {
sum += Integer.parseInt(st.nextToken());
}
System.out.println(sum);
}
}
초반에 잘못 생각한 부분이 N개가 주어진다는 내용을 보고 입력을 받으려했다.
입력을 받는 코드 또한
int n = sc.nextInt()
를 사용함으로서, 아무리 1 2 3 4 5의 숫자를 입력해도 1만 입력받게 되어 접근 조차 틀렸다는것을 깨달았다.
그 후로, Scanner 를 쓰지않고 BF를 사용하여 진행하였고,
StringTokenizer을 사용하여 문자열을 공백으로 구분해서 저장했다.