음 아 이 문제 설명이 부족한 거 같아 0하고 1은 문자로 안 쓰고 그냥 누른다고 설명 해주지!!!
문제
https://www.acmicpc.net/problem/5622
5622번: 다이얼
문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.
www.acmicpc.net
소스
#include <iostream>
#include <string>
using namespace std;
int main(void) {
string number;
cin >> number;
char al[26] = {'A', 'B', 'C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int num[26] = {3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10, 10, 10, 10 };
int count = 0;
for (int i = 0; i < number.length(); i++) {
if (number[i] == 0) {
count += 11; continue;
}
else if (number[i] == 1) {
count += 2; continue;
}
else {
for (int j = 0; j < 26; j++) {
if (al[j] == number[i]) {
count += num[j]; break;
}
}
}
}
cout << count;
return 0;
}
'개인 공부 > 코딩테스트' 카테고리의 다른 글
[C++][백준 2941][문자열 처리] 크로아티아 알파벳 :: seoftware (0) | 2020.02.16 |
---|---|
[C++][백준 1316][문자열 처리] 그룹 단어 체커 :: seoftware (0) | 2020.02.16 |
[C++][백준 2908][문자열 처리] 상수 :: seoftware (0) | 2020.02.16 |
[C++][백준 1157][문자열 처리] 단어 공부 :: seoftware (0) | 2020.02.16 |
[C++][백준 10809][문자열 처리] 알파벳 찾기 :: seoftware (0) | 2020.02.16 |
댓글