본문 바로가기
공부하자/알고리즘

[백준] 5622번 다이얼 C, java

by snbrin 2022. 1. 13.

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 모두 같은 방식으로 진행