๋ฌธ์
์๊ทผ์ด์ ํ ๋จธ๋๋ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ค๋๋ ๋ค์ด์ผ ์ ํ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ค.
์ ํ๋ฅผ ๊ฑธ๊ณ ์ถ์ ๋ฒํธ๊ฐ ์๋ค๋ฉด, ์ซ์๋ฅผ ํ๋๋ฅผ ๋๋ฅธ ๋ค์์ ๊ธ์ ํ์ด ์๋ ๊ณณ ๊น์ง ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ค์ผ ํ๋ค. ์ซ์๋ฅผ ํ๋ ๋๋ฅด๋ฉด ๋ค์ด์ผ์ด ์ฒ์ ์์น๋ก ๋์๊ฐ๊ณ , ๋ค์ ์ซ์๋ฅผ ๋๋ฅด๋ ค๋ฉด ๋ค์ด์ผ์ ์ฒ์ ์์น์์ ๋ค์ ๋๋ ค์ผ ํ๋ค.
์ซ์ 1์ ๊ฑธ๋ ค๋ฉด ์ด 2์ด๊ฐ ํ์ํ๋ค. 1๋ณด๋ค ํฐ ์๋ฅผ ๊ฑฐ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ด๋ณด๋ค ๋ ๊ฑธ๋ฆฌ๋ฉฐ, ํ ์นธ ์์ ์๋ ์ซ์๋ฅผ ๊ฑธ๊ธฐ ์ํด์ 1์ด์ฉ ๋ ๊ฑธ๋ฆฐ๋ค.
์๊ทผ์ด์ ํ ๋จธ๋๋ ์ ํ ๋ฒํธ๋ฅผ ๊ฐ ์ซ์์ ํด๋นํ๋ ๋ฌธ์๋ก ์ธ์ด๋ค. ์ฆ, ์ด๋ค ๋จ์ด๋ฅผ ๊ฑธ ๋, ๊ฐ ์ํ๋ฒณ์ ํด๋นํ๋ ์ซ์๋ฅผ ๊ฑธ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด, UNUCIC๋ 868242์ ๊ฐ๋ค.
ํ ๋จธ๋๊ฐ ์ธ์ด ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ์ ํ๋ฅผ ๊ฑธ๊ธฐ ์ํด์ ํ์ํ ์ต์ ์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ํ๋ฒณ ๋๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ๋จ์ด์ ๊ธธ์ด๋ 2๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 15๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ค์ด์ผ์ ๊ฑธ๊ธฐ ์ํด์ ํ์ํ ์ต์ ์๊ฐ์ ์ถ๋ ฅํ๋ค.
ํ์ด
๋ฒกํฐ์ ๋ค์ด์ผ ์ํ๋ฒณ์ ๋ฃ์ด๋๊ณ find ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฒกํฐ์ ํฌํจ๋ ์ํ๋ฒณ์ ์ธ๋ฑ์ค + 3์ ํด์ค๋ค.
์ฒ์์๋ ๋ฒกํฐ ์๊ฐ์ ๋ชปํ๊ณ if else๋ฌธ์ผ๋ก ๊ตฌํํ๋ค๊ฐ ์ ์ ์ ์ฐจ๋ฆฌ๊ณ ๋ฒกํฐ๋ก ๊ตฌํํ๋ค.
+ npos๋ฅผ ์ฌ์ฉํ ๋๋ string::npos๋ก ์ฌ์ฉํด์ผ ํ๋ค. string ํค๋๋ฅผ ํฌํจํด๋ ๊ทธ๋ฅ npos๋ง ์จ๋ ๋ ์ค ์์๋๋ฐ ์๊พธ ์ปดํ์ผ ์๋ฌ๊ฐ ๋์ ๊ทธ๋ฅ ์์ํ๋ค
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string dial;
cin >> dial;
int time=0;
vector<string> dial_list{"ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};
for (int i=0; i<dial.length(); i++){
for (int j=0; j<dial_list.size(); j++){
if (dial_list[j].find(dial[i]) != string::npos)
time += j+3;
}
}
cout << time;
}
https://www.acmicpc.net/problem/5622
'โจ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/C++] 1316๋ฒ : ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2021.07.19 |
---|---|
[๋ฐฑ์ค/C++] 2941๋ฒ : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 2908 : ์์ - reverse, atoi, to_string ์ฌ์ฉ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2021.07.18 |
[๋ฐฑ์ค/C++] 1157๋ฒ : ๋จ์ด ๊ณต๋ถ (0) | 2021.07.16 |
๋๊ธ