곽로그
[백준 5622, 자바] 다이얼 본문
반응형
문제
https://www.acmicpc.net/problem/1157
접근방법
문자 | 숫자 | 소요시간(초) |
ABC | 2 | 3 |
DEF | 3 | 4 |
GHI | 4 | 5 |
JKL | 5 | 6 |
MNO | 6 | 7 |
PQRS | 7 | 8 |
TUV | 8 | 9 |
WXYZ | 9 | 10 |
우선 위의 표를 만들어봤다. 소요시간은 숫자+1 이라는 관계가 있다. 그럼 이제 문자와 숫자에 대한 대응관계를 생각해주면 된다. 그런데 문자가 3개인 경우도 있고 4개인 경우도 있어서 이걸 일반화하기는 어려웠다. 그래서 그냥 각 문자다마 일대일 대응으로 접근했다.
number라는 크기가 26인 배열에 2,2,2,3,3,3,4,4,4~이렇게 초기화를 하고 입력된 문자가 T이면 T-A를 구해서 해당 T-A의 인덱스에 있는 숫자를 가져온다. 거기에 +1 을 하면 소요시간을 구할 수 있다.
import java.util.Scanner;
public class Main {
public static int[] number = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
String dial = in.next();
int totalSecond = 0;
for(int i=0;i<dial.length();i++) {
char alpabet = dial.charAt(i);
totalSecond += (number[alpabet-'A']+1);
}
System.out.println(totalSecond);
in.close();
}
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 1152, 자바] 단어의 개수 (0) | 2020.03.15 |
---|---|
[백준 2941, 자바] 크로아티아 알파벳 (0) | 2020.03.15 |
[백준 1326, 자바] 그룹단어 체커 -- 다시 (0) | 2020.03.12 |
[백준 2789 자바] 블랙잭 (0) | 2020.03.08 |
[백준 1018 자바] 체스판 다시 칠하기 (0) | 2020.03.07 |
Comments