반응형
코딩하기 전 생각하기
/*
다이얼의 숫자와 해당 알파벳을 map에 저장한다.
문자열을 입력받고 문자열을 순회한다.
알파벳이이 map에 있으면 해당 숫자를 count에 더한다.
숫자 1을 걸려면 총 2초가 소요되므로 더하는 숫자는 해당 숫자 + 1 이다.
*/
코드
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
map<string, int> m;
m.insert(make_pair("ABC", 2));
m.insert(make_pair("DEF", 3));
m.insert(make_pair("GHI", 4));
m.insert(make_pair("JKL", 5));
m.insert(make_pair("MNO", 6));
m.insert(make_pair("PQRS", 7));
m.insert(make_pair("TUV", 8));
m.insert(make_pair("WXYZ", 9));
string str;
cin >> str;
int count = 0, v;
for ( int i = 0; i < str.size(); i++ ) {
for ( auto iter : m ) {
if ( iter.first.find(str[i]) != string::npos )
v = iter.second;
}
count += v + 1;
}
cout << count;
}
느낀점
이 문제를 보고 map을 사용해야 되겠다는 생각이 들었다. 한 번에 통과가 되어서 날아갈 듯이 기뻤다.
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준/BOJ] 1316번 - 그룹 단어 체커 (파이썬) (0) | 2021.07.07 |
---|---|
[백준/BOJ] 1157번 - 단어 공부 (C++) (0) | 2021.07.06 |
[백준/BOJ] 8958번 - OX퀴즈 (C++) (0) | 2021.07.06 |
[백준/BOJ] 4659번 - 비밀번호 발음하기 (파이썬) (0) | 2021.07.06 |
[백준/BOJ] 1159번 - 농구 경기 (C++) (0) | 2021.07.06 |
댓글