문제
N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.
출력
입력으로 주어진 숫자 N개의 합을 출력한다.
코드
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String letter = sc.next();
sc.close();
int sum = 0;
for (int i = 0; i < N; i++){
sum += letter.charAt(i)-'0';
}
System.out.println(sum);
}
}
풀이
letter을 문자열로 입력받은 후 , charAt()을 통해 각 문자열의 해당 인덱스에 해당 하는 값을 sum에 더한다.
이 때, charAt() 은 해당 문자의 아스키코드 값을 반환하기 때문에 -'48' 또는 -'0' 을 해주어야 숫자 값을 사용할 수 있다.
처음에 next()말고 nextline()을 사용해서 오류가 났었다.
nextLine() : 문자 혹은 엔터를 치기 전까지의 문장 전체를 입력받는다.
next() : 문자 혹은 문자열을 공백 기준으로 한 단어 또는 한 문자씩 입력을 받는다.
'Programming > Algorithm' 카테고리의 다른 글
[백준] 2675번 : 문자열 반복 (Java) (0) | 2021.07.19 |
---|---|
[백준] 10809번 : 알파벳 찾기 (Java) (0) | 2021.07.18 |
[백준] 11654번 : 아스키 코드 (Java) (0) | 2021.07.16 |
[백준] 1065번 : 한수 (Java) (0) | 2021.07.16 |
[백준] 4673번 : 셀프 넘버 (Java) (0) | 2021.07.13 |
댓글