카테고리 없음
백준 5622번 : 다이얼
show2888
2019. 10. 31. 19:30
반응형
https://www.acmicpc.net/problem/5622
5622번: 다이얼
문제 상근이의 할머니는 아래 그림과 같이 오래된 다이얼 전화기를 사용한다. 전화를 걸고 싶은 번호가 있다면, 숫자를 하나를 누른 다음에 금속 핀이 있는 곳 까지 시계방향으로 돌려야 한다. 숫자를 하나 누르면 다이얼이 처음 위치로 돌아가고, 다음 숫자를 누르려면 다이얼을 처음 위치에서 다시 돌려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해선 1초씩 더 걸린다.
www.acmicpc.net
# for(char temp : in) 이렇게 for문 쓰는거 11버전이후인데 갠찮은듯
#include <iostream>
#include <map>
#include <vector>
using namespace std;
int main()
{
string in;
cin >> in;
vector<string> vec;
vec.push_back("ABC");
vec.push_back("DEF");
vec.push_back("GHI");
vec.push_back("JKL");
vec.push_back("MNO");
vec.push_back("PQRS");
vec.push_back("TUV");
vec.push_back("WXYZ");
int ans = 0;
for(char temp : in)
{
for(int j =0 ;j<vec.size(); j++)
{
if(vec[j].find(temp) > 10000){
continue;
}
else{
ans += j+3;
}
}
}
cout << ans;
}
+ 이분 풀이 참고
https://blog.naver.com/PostView.nhn?blogId=jhnyang&logNo=221521185529
반응형