https://www.acmicpc.net/problem/5622
1. 아이디어
각 알파벳이 위치한 다이얼에 적힌 숫자 + 1 만큼의 시간이 걸림을 활용하면 간단하게 해결할 수 있다.
2. 문제풀이
알파벳마다 걸리는 시간을 표현하는 26칸짜리 알파벳 배열을 만들고 걸리는 시간을 미리 저장했다. 0번 인덱스에 A부터 25번 인덱스를 Z에 매칭한 후 이를 통해 시간의 합을 구하는 방식으로 구현했다.
3. 코드
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] arr = {3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10};
char[] input = br.readLine().toCharArray();
int sum = 0;
for (char c : input) {
sum += arr[c - 'A'];
}
System.out.println(sum);
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1991번 - 트리 순회 [Java] (0) | 2025.02.06 |
---|---|
[백준] 1316번 - 그룹 단어 체커 [Java] (0) | 2025.02.06 |
[백준] 17142번 - 연구소 3 [Java] (0) | 2025.02.04 |
[백준] 17141번 - 연구소 2 [Java] (0) | 2025.02.04 |
[백준] 14502번 - 연구소 [Java] (1) | 2025.02.04 |