<주의 사항>
다이얼 번호마다 알파벳이 없는 경우도 있고, 3개 또는 4개인 경우가 있다.
<접근 방법>
1. 각 다이얼 0~9까지 걸리는 시간을 sec[번호 인덱스] 형태로 만들어준다. (그냥 있는 다이얼을 다 해줬지만, 문제에서 사용되는 2~9까지만 해줘도 된다)
2. 입력받은 문자를 맨 앞부터 끝날 때까지 다음을 반복한다.
2-1. 알파벳에 따른 소요 시간을 총 소요 시간에 더해준다.
3. 총 소요 시간을 출력하고 종료한다.
cf1. 시간을 sec 배열로 해주지 않고 그냥 totalSec에 바로 해당 값을 더해줘도 상관없다.
cf2. switch문이나 if문 아무거나 사용해도 된다. switch-case문이 깔끔해보여서 사용했다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <iostream> #include <string> using namespace std; int main(void) { int sec[10] = {11,2,3,4,5,6,7,8,9,10}; string input; int totalSec = 0; cin >> input; for(int i=0; i<input.length(); i++) { switch(input.at(i)) { case 'A': case 'B': case 'C': totalSec += sec[2]; break; case 'D': case 'E': case 'F': totalSec += sec[3]; break; case 'G': case 'H': case 'I': totalSec += sec[4]; break; case 'J': case 'K': case 'L': totalSec += sec[5]; break; case 'M': case 'N': case 'O': totalSec += sec[6]; break; case 'P': case 'Q': case 'R': case 'S': totalSec += sec[7]; break; case 'T': case 'U': case 'V': totalSec += sec[8]; break; case 'W': case 'X': case 'Y': case 'Z': totalSec += sec[9]; break; } } cout << totalSec << "\n"; return 0; } | cs |
'C & C++ > Baekjoon' 카테고리의 다른 글
백준 9498 - 시험 성적 (0) | 2017.12.27 |
---|---|
백준 8958 - OX퀴즈 (0) | 2017.12.27 |
백준 8393 - 합 (0) | 2017.12.27 |
백준 4673 - 셀프 넘버 (0) | 2017.12.27 |
백준 4344 - 평균은 넘겠지 (0) | 2017.12.27 |