백준 문제풀이/문자열

5622. 다이얼 (자바, Java)

뮤츠 2022. 9. 13. 02:43

이거 좀 악마같았던게...중간에 3자리씩 가다가, 다이얼이 4글자로 늘어나는 불규칙구간이 있습니다! 이거땜에 난이도 떡상했습니다...ㅋㅋㅋ

결국 수학으로 풀어서, 특수성이 적용될 수 있도록 따로 if를 주다가, 그래도 잘 안되길래

다른풀이를 찾아보고 해결했습니다. 단순무식하게 switch로 해결...개인적으로 좋아하는 방법이 아니어서 뭔가 아쉽습니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {	

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String str = br.readLine();
		int time = 0;
		int input;
		
		for (int i=0; i<str.length(); i++) {
			
			switch(str.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);
	}

}