https://www.acmicpc.net/problem/5622
5622번: 다이얼
첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다.
www.acmicpc.net
C
#include <stdio.h>
#include <string.h>
int main() {
char num[16]; //최대 길이가 15이므로
int rst=0; //총 시간
int len=0; //문자열 길이
scanf("%s", num);
len = strlen(num); //문자열 길이 측정
//문자열 길이만큼 for문으로 문자열 탐색-> 시간 더하기
for (int i = 0; i < len; i++) {
if (num[i] == 'A' || num[i] == 'B' || num[i] == 'C')
rst += 3; //숫자2에 있는 알파벳을 쓰려면 3초가 걸림
else if (num[i] == 'D' || num[i] == 'E' || num[i] == 'F')
rst += 4; //숫자3에 있는 알파벳을 쓰려면 4초가 걸림
else if (num[i] == 'G' || num[i] == 'H' || num[i] == 'I')
rst += 5;
else if (num[i] == 'J' || num[i] == 'K' || num[i] == 'L')
rst += 6;
else if (num[i] == 'M' || num[i] == 'N' || num[i] == 'O')
rst += 7;
else if (num[i] == 'P' || num[i] == 'Q' || num[i] == 'R' || num[i] == 'S')
rst += 8;
else if (num[i] == 'T' || num[i] == 'U' || num[i] == 'V')
rst += 9;
else if (num[i] == 'W' || num[i] == 'X' || num[i] == 'Y' || num[i] == 'Z')
rst += 10;
else
printf("error");
}
printf("%d", rst); //총 걸린 시간의 합
return 0;
}
java
package javastd1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class bj1541 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String st = br.readLine();
int len = st.length(); //문자열 길이
int rst=0; //총 시간
for(int i=0; i<len; i++) { //문자열 길이만큼 반복
switch(st.charAt(i)) {
//문자열st에서 문자를 색출해냄, char타입으로 리턴 -> charAt(i)
case 'A' : case 'B' : case 'C':
rst += 3;
break;
case 'D' : case 'E' : case 'F':
rst += 4;
break;
case 'G' : case 'H' : case 'I':
rst += 5;
break;
case 'J' : case 'K' : case 'L':
rst += 6;
break;
case 'M' : case 'N' : case 'O':
rst += 7;
break;
case 'P' : case 'Q' : case 'R': case 'S':
rst += 8;
break;
case 'T' : case 'U' : case 'V':
rst += 9;
break;
case 'W' : case 'X' : case 'Y': case 'Z':
rst += 10;
break;
}
}
System.out.println(rst);
}
}
C와 java 모두 같은 방식으로 진행
'공부하자 > 알고리즘' 카테고리의 다른 글
[백준] 1316번 그룹 단어 체커 C (0) | 2022.01.15 |
---|---|
[백준] 2447번 별 찍기-10 C, java (0) | 2022.01.13 |
[백준] 2908번 상수 C, java (0) | 2022.01.13 |
[백준] 1541번 잃어버린 괄호 C (0) | 2022.01.11 |
[백준] 3009번 네 번째 점 C, java (0) | 2022.01.08 |