[백준 15813번] 너의 이름은 몇 점이니?
[백준 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) 를 사용하여서 알파벳에 해당하는 값을 구하였다.
댓글남기기