[백준] n.5622 - 다이얼에 해당하는 문자 식별&사용 시간 구하기

SMALL

1. 문제
https://www.acmicpc.net/problem/5622

 

5622번: 다이얼

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

www.acmicpc.net

 

2. 주요 개념
- 스캐너
- split 함수

- 반복문 (for문)
- switch ~ case

3. 나의 풀이 (*은 잘 안풀린 부분)

import java.io.*;
import java.util.*;

class Main {

  public static void main(String[] args) {

    Scanner s = new Scanner(System.in);

    String dial; // 전화 거는 대문자 문자열
    int total = 0;
    // 총 시간

    dial = s.next();

    String[] arr = dial.split("");
    // 문자열을 문자로 하나씩 자름

    for (int i = 0; i < arr.length; i++) {
      switch (arr[i]) {
        // 여러 조건 넣기
        // case 요소1: case 요소2: ···
        case "A":
        case "B":
        case "C": // 2
          total += 3;
          break;
        case "D":
        case "E":
        case "F": // 3
          total += 4;
          break;
        case "G":
        case "H":
        case "I": // 4
          total += 5;
          break;
        case "J":
        case "K":
        case "L": // 5
          total += 6;
          break;
        case "M":
        case "N":
        case "O": // 6
          total += 7;
          break;
        case "P":
        case "Q":
        case "R":
        case "S": // 7
          total += 8;
          break;
        case "T":
        case "U":
        case "V": // 8
          total += 9;
          break;
        case "W":
        case "X":
        case "Y":
        case "Z": // 9
          total += 10;
          break;
        default:
          total += 0;
      }
    }
    System.out.print(total);
  }
}


4. 짚고 넘어가기!
- switch ~ case문
- break를 반드시 넣어줘라!
- 여러 case문 => case 요소1: case 요소2: ···············

728x90