최대 1 분 소요

[백준 15813] 너의 이름은 몇 점이니?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
public class 백준_손수경_정답_15813 {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
        int length = Integer.parseInt(br.readLine());
        String name = br.readLine();
        int score = 0;
        //이름은 모두 대문자로 주어진다고 했으므로 아스키 코드 사용 : A~Z = 65~90
        for (int i = 0; i < name.length(); i++) {
            int temp = name.charAt(i);
            score += temp - 64;
        }   
        bw.write(score + "\n");
        bw.close();
 
    }
}
 
cs

아스키 코드의 규칙을 활용해서 이름에 대한 점수를 더했다. 여기서 아스키 코드표에 맞게 형 전환이 되는 것은 문자 -> 정수형 이지, 문자열 -> 정수형이 아니였다. 그래서 처음에 이름을 배열에 쪼개서 각 알파벳 하나에 해당하는 아스키 코드값을 구할려고 했으나, 문자열에서는 구할 수 없기 때문에, 입력을 문자열로 받고 .charAt(index) 를 사용하여서 알파벳에 해당하는 값을 구하였다.

댓글남기기