반응형
다이얼을 돌리는 시간을 구하는 문제.
먼저 아스키 코드표를 보자.
문제에서 대문자로 이루어진 단어가 주어진다고 했으니, 아스키코드표를 활용하면 쉽게 범위를 특정할 수 있다.
입력받은 문자를 한글자씩 잘라 아스키코드 변환 (int형변환)해준 후 각 범위에 따라 시간을 1초씩 추가해주면 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
int time = 0;
for (int i = 0; i < a.length(); i++) {
int tmp = a.charAt(i) - 65;
time += 3;
if (tmp >= 3)
time++;
if (tmp >= 6)
time++;
if (tmp >= 9)
time++;
if (tmp >= 12)
time++;
if (tmp >= 15)
time++;
if (tmp >= 19)
time++;
if (tmp >= 22)
time++;
}
System.out.println(time);
sc.close();
}
}
편의상 i번째문자 - 65를 하여 A면 0 B면 1 ... 이 되도록 만들어 준 뒤 숫자가 커질수록 1초씩 증가하도록 했다.
반응형
'Java > 백준알고리즘' 카테고리의 다른 글
[Java] 백준알고리즘 #25206 너의 평점은 (1) | 2023.10.03 |
---|---|
[Java] 백준알고리즘 #11718 그대로 출력하기 (0) | 2023.10.03 |
[Java] 백준알고리즘 #2908 상수 (0) | 2023.10.03 |
[Java] 백준알고리즘 #1152 단어의 개수 (0) | 2023.10.02 |
[Java] 백준알고리즘 #10811 바구니 뒤집기 (0) | 2023.10.02 |