본문 바로가기
카테고리 없음

[BOJ_JAVA] 백준 5622번 : 다이얼 @달깅

by 달깅 2019. 11. 3.

 

https://www.acmicpc.net/problem/5622

 

아 개 노가다 했다

근데 case: 여러개를 합쳐서 쓸 수 있다는 걸 쓰고 난 다음에 알았다

스위치문을 자주 안 쓰다보니..ㅠㅠ 생각해보니까 비어있으면 넘어가는구나 흑흑..

 

다음부터는 이런 멍청한 짓 하지 말아야지..

그리고 다른 풀이를 보니까 charindex..? 이런식으로 또 아스키 코드 값 이용해서 푸는 분들도 있는 것 같던데

나도 다음에 조금 더 고수가 되고 겨울방학에 씨쁠쁠 공부할 땐 그렇게 풀어봐야겠다!

 

 

 

 


정답코드

 

 

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String input=sc.nextLine();
        int sum=0;
        input=input.toLowerCase();

        for(int i=0; i<input.length(); i++) {
            if (input.charAt(i)=='1') {
                sum+=2;
            } else if (input.charAt(i)=='0') {
                sum+=11;
            } else {
                switch (input.charAt(i)) {
                    case 'a' : sum+=3; break;
                    case 'b' : sum+=3; break;
                    case 'c' : sum+=3; break;
                    case 'd' : sum+=4; break;
                    case 'e' : sum+=4; break;
                    case 'f' : sum+=4; break;
                    case 'g' : sum+=5; break;
                    case 'h' : sum+=5; break;
                    case 'i' : sum+=5; break;
                    case 'j' : sum+=6; break;
                    case 'k' : sum+=6; break;
                    case 'l' : sum+=6; break;
                    case 'm' : sum+=7; break;
                    case 'n' : sum+=7; break;
                    case 'o' : sum+=7; break;
                    case 'p' : sum+=8; break;
                    case 'q' : sum+=8; break;
                    case 'r' : sum+=8; break;
                    case 's' : sum+=8; break;
                    case 't' : sum+=9; break;
                    case 'u' : sum+=9; break;
                    case 'v' : sum+=9; break;
                    case 'w' : sum+=10; break;
                    case 'x' : sum+=10; break;
                    case 'y' : sum+=10; break;
                    case 'z' : sum+=10; break;
                    default: break;
                }
            }
        }
        System.out.println(sum);
    }
}

댓글