[백준] java 11720

Sundae·2023년 7월 9일
0

백준

목록 보기
4/63
post-custom-banner

https://www.acmicpc.net/step/7


문제

N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.

풀이 과정 / 배운점

import java.io.*;
import java.util.StringTokenizer;

public class Main{
	public static void main(String[] args) throws IOException { 
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(bf.readLine());
		String S = bf.readLine();
		int sum = 0;
		
		// char형을 int형으로 변환하면 아스키 코드가 나오므로 String형을 int형으로 변환한다.
		for(int i = 0; i < N; i++) {
			String word = String.valueOf(S.charAt(i));
			sum += Integer.parseInt(word);
		}		
		System.out.println(sum);
	}
}

char형을 String형으로 변환시켜준 다음 int로 변환하였다.
먼저 char형을 int형으로 변환하면 아스키 코드가 나온다.

다른 사람들의 풀이를 보았는데, 여기서 다른 클래스의 변환 메소드를 사용하는 것이 아닌 아스키코드를 이용할 수도 있었다.

S.charAt(i) - '0'

0의 아스키코드는 48이고 그 후로는 1씩 증가한다.

아스키코드여도 '0'을 빼주면 1부터 시작하는 셈이다.

느낀점

확실히, 알고리즘 공부를 시작하면서 자료형의 특징이나 클래스들을 많이 알게되고, 복습하게 되는 것 같다.

profile
성장 기록 / 글에 오류가 있다면 댓글 부탁드립니다.
post-custom-banner

0개의 댓글