[C++ 백준] 5622 다이얼
728x90
반응형
블로그에 올리는 모든 문제 풀이는 깃허브에 올려져 있습니다.
문제 설명
- 전화를 걸 때, 숫자 1은 2초의 시간이 필요하며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 추가된다.
- 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. (단어의 길이는 2보다 크거나 같고, 15보다 적거나 같다.)
- 각 문자를 숫자에 대응했을 때, 이 전화를 걸기 위해서 필요한 최소 시간을 구하는 프로그램을 작성하시오.
풀이 전략
- 각 문자가 입력받는데 걸리는 시간을 배열에 저장 후 계산
소스 코드
#include <iostream>
#include <string>
using namespace std;
int main()
{
int times[] = { 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 result = 0;
string input;
cin >> input;
for (int i=0; i < input.length(); i++)
{
result += times[(input[i] - 'A')];
}
cout << result;
}
링크
728x90
반응형
'문제풀이 > BOJ' 카테고리의 다른 글
[C++ 백준] 1316 그룹 단어 체커 (0) | 2021.05.16 |
---|---|
[C++ 백준] 2908 상수 (0) | 2021.05.15 |
[C++ 백준] 2675 문자열 반복 (0) | 2021.05.12 |
[C++ 백준] 1157 단어 공부 (0) | 2021.02.02 |
[C++ 백준] 4344 평균은 넘겠지 (0) | 2021.01.09 |
댓글
이 글 공유하기
다른 글
-
[C++ 백준] 1316 그룹 단어 체커
[C++ 백준] 1316 그룹 단어 체커
2021.05.16 -
[C++ 백준] 2908 상수
[C++ 백준] 2908 상수
2021.05.15 -
[C++ 백준] 2675 문자열 반복
[C++ 백준] 2675 문자열 반복
2021.05.12 -
[C++ 백준] 1157 단어 공부
[C++ 백준] 1157 단어 공부
2021.02.02