코딩 테스트
[코딩테스트] 백준 5622번: 다이얼
dev.jelee
2025. 6. 15. 21:49
# 문제
# 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ5622_v1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] input = br.readLine().split("");
int number = 0;
// if문 사용
// 입력받은 값 중에서 abc가 있으면 number에 += 2 + 1, def는 number에 += 3 + 1 ...
for(int i = 0; i < input.length; i++) {
String s = input[i].toUpperCase();
char c = s.charAt(0);
if (c == 'A' || c == 'B' || c == 'C') {
number += 2 + 1;
} else if (c == 'D' || c == 'E' || c == 'F') {
number += 3 + 1;
} else if (c == 'G' || c == 'H' || c == 'I') {
number += 4 + 1;
} else if (c == 'J' || c == 'K' || c == 'L') {
number += 5 + 1;
} else if (c =='M' || c == 'N' || c == 'O') {
number += 6 + 1;
} else if (c == 'P' || c == 'Q' || c == 'R' || c == 'S') {
number += 7 + 1;
} else if (c == 'T' || c == 'U' || c == 'V') {
number += 8 + 1;
} else if (c == 'W' || c == 'X' || c == 'Y' || c == 'Z') {
number += 9 + 1;
} else {
System.out.println("대문자 알파벳만 입력해주세요.");
}
}
System.out.println(number);
br.close();
}
}
# 입/출력 결과
# 과정
- BufferedReader 객체 생성
- String[] input에 입력받은 값을 한 글자씩 나누어 저장
- int number 선언과 초기화
- for문 사용해서 입력 받은 값의 길이만큼 반복. 그리고 한 문자씩 if문을 사용하여 계산
- number 출력
- BufferedReader .close() 하기
# 메모
- 다른 식으로 하고 싶었는데, 결국에는 일일히 반복문에 조건식을 지정해서 문제를 풀었다. ㅠㅠ...