코딩테스트 준비 💻/Baekjoon

[백준] 자바 Java, 2941번: 문자열 > 크로아티아 알파벳

ImYena 2021. 8. 26. 23:09
728x90

 

 

2941번: 크로아티아 알파벳

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z=

www.acmicpc.net


문제

예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다.

따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.

크로아티아 알파벳 변경
č c=
ć c-
dz=
đ d-
lj lj
nj nj
š s=
ž z=

 

예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다.

단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.

dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 

위 목록에 없는 알파벳은 한 글자씩 센다.

 

입력

첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.

 

출력

첫째 줄에 다이얼을 걸기 위해서 필요한 최소 시간을 출력한다.

 

알고리즘 분류

  • 구현

 

나의 풀이

package level7_string;

import java.util.Scanner;

public class Beakjoon5622 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		String num = sc.next();
		int time = 0;
		
		int len = num.length();
		for(int i=0; i<len; i++) {
			switch(num.charAt(i)) {
			case 'A': case 'B': case 'C':
				time += 3;
				break;
			case 'D': case 'E': case 'F':
				time += 4;
				break;
			case 'G': case 'H': case 'I':
				time += 5;
				break;
			case 'J': case 'K': case 'L': 
				time += 6;
				break;
                
			case 'M': case 'N': case 'O':
				time += 7;
				break;
                
			case 'P': case 'Q': case 'R': case 'S': 
				time += 8; 
				break;
                
			case 'T': case 'U': case 'V': 
				time += 9;
				break;
                
			case 'W': case 'X': case 'Y': case 'Z': 
				time += 10;
				break;
			} 
		}
		
		System.out.println(time);
		
	}
}

 

결과

728x90
반응형