현재
[Java][BaekJoon][5622]다이얼 본문
<문제의도>
경우의수를 나눠서 적절한 API를 사용할 수 있는지 묻는 문제이다
<풀이 코드>
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
String input = scn.nextLine();
int array [] = new int[input.length()];
for ( int x = 0 ; x <input.length(); x++){
if( input.charAt(x) == 'A' ||
input.charAt(x) == 'B' ||
input.charAt(x) == 'C')
array[x] = 3;
else if ( input.charAt(x) == 'D' ||
input.charAt(x) == 'E' ||
input.charAt(x) == 'F')
array[x] = 4;
else if ( input.charAt(x) == 'G' ||
input.charAt(x) == 'H' ||
input.charAt(x) == 'I')
array[x] = 5;
else if ( input.charAt(x) == 'J' ||
input.charAt(x) == 'K' ||
input.charAt(x) == 'L')
array[x] = 6;
else if ( input.charAt(x) == 'M' ||
input.charAt(x) == 'N' ||
input.charAt(x) == 'O')
array[x] = 7;
else if ( input.charAt(x) == 'P' ||
input.charAt(x) == 'Q' ||
input.charAt(x) == 'R' ||
input.charAt(x) == 'S')
array[x] = 8;
else if ( input.charAt(x) == 'T' ||
input.charAt(x) == 'U' ||
input.charAt(x) == 'V')
array[x] = 9;
else if ( input.charAt(x) == 'W' ||
input.charAt(x) == 'X' ||
input.charAt(x) == 'Y' ||
input.charAt(x) == 'Z')
array[x] = 10;
}
// ABC는 3초가 걸림
int sum = 0;
for ( int x = 0 ; x < input.length(); x++){
sum += array[x];
}
System.out.println(sum);
}
}
<풀이 과정>
문제를 풀고나서 다른 사람의 풀이를 봤는데
다들 switch case를 사용해서 해결하였다.
swtich case를 이용해서 푸는것이 더 가독성이 좋고 코드의 양이 적다고 느꼈다. 다음 부터는 Switch Case 문을 통해 해결해 봐야겠다.
<문제출처>
https://www.acmicpc.net/step/7
문자열 단계
정수를 문자열로 입력받는 문제. Python처럼 정수 크기에 제한이 없다면 상관 없으나, 예제 3은 일반적인 정수 자료형에 담기에 너무 크다는 점에 주목합시다.
www.acmicpc.net
'알고리즘 > 백준' 카테고리의 다른 글
| [Java][BaekJoon][25206] 너의 평점은 (0) | 2023.09.26 |
|---|---|
| [Java][BaekJoon][3003] 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2023.09.26 |
| [Java][BaekJoon][2908]상수 (0) | 2023.09.24 |
| [Java][BaekJoon][1152] 단어의개수 (0) | 2023.09.24 |
| [Java][BaekJoon][2675] 문자열 반복 (0) | 2023.09.24 |