🔑알고리즘/baekjoon

백준 5622 : 다이얼 - 자바 문제 풀이 (문자열을 문자 배열로)

pkyung 2021. 7. 29. 18:45
반응형

백준 5622번 문제입니다.

문제 정리

1번을 누를 때는 2초가 걸리고 옆 칸으로 옮길수록 1초씩 증가한다고 합니다.

다이얼 그림에는 숫자 밑에 문자가 적혀있습니다.

 

ABC 3초

DEF 4초

GHI 5초

JKL 6초

MNO 7초

PQRS 8초

TUV 9초

WXYZ 10초

OPERATOR 11초 입니다.

 

방법 : 문자 아스키코드를 이용할 수 있겠죠?

 

문자열로 입력 받은것을 문자 배열로 만드는 방법은 배열이름.toCharArray() 입니다.

 

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String s = sc.nextLine();
		int time = 0; //시간 변수
		char[] array = s.toCharArray();//문자열을 문자배열로 
		for (int i = 0; i < array.length; i++) {
			if (array[i] >= 'A' && array[i] <= 'C')
				time += 3;
			else if (array[i] >= 'D' && array[i] <= 'F')
				time += 4;
			else if (array[i] >= 'G' && array[i] <= 'I')
				time += 5;
			else if (array[i] >= 'J' && array[i] <= 'L')
				time += 6;
			else if (array[i] >= 'M' && array[i] <= 'O')
				time += 7;
			else if (array[i] >= 'P' && array[i] <= 'S')
				time += 8;
			else if (array[i] >= 'T' && array[i] <= 'V')
				time += 9;
			else if (array[i] >= 'W' && array[i] <= 'Z')
				time += 10;
			else
				time += 11;
		}
		System.out.print(time);
	}

}

 

 

이렇게 맞았습니다.

반응형