https://school.programmers.co.kr/learn/courses/30/lessons/84512
๋ฌธ์ ์ค๋ช
์ฌ์ ์ ์ํ๋ฒณ ๋ชจ์ 'A', 'E', 'I', 'O', 'U'๋ง์ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋, ๊ธธ์ด 5 ์ดํ์ ๋ชจ๋ ๋จ์ด๊ฐ ์๋ก๋์ด ์์ต๋๋ค. ์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA"์ด๋ฉฐ, ๋ง์ง๋ง ๋จ์ด๋ "UUUUU"์ ๋๋ค.
๋จ์ด ํ๋ word๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด ๋จ์ด๊ฐ ์ฌ์ ์์ ๋ช ๋ฒ์งธ ๋จ์ด์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- word์ ๊ธธ์ด๋ 1 ์ด์ 5 ์ดํ์ ๋๋ค.
- word๋ ์ํ๋ฒณ ๋๋ฌธ์ 'A', 'E', 'I', 'O', 'U'๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
word | result |
"AAAAE" | 6 |
"AAAE" | 10 |
"I" | 1563 |
"EIO" | 1189 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
์ฌ์ ์์ ์ฒซ ๋ฒ์งธ ๋จ์ด๋ "A"์ด๊ณ , ๊ทธ๋ค์์ "AA", "AAA", "AAAA", "AAAAA", "AAAAE", ... ์ ๊ฐ์ต๋๋ค. "AAAAE"๋ ์ฌ์ ์์ 6๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
"AAAE"๋ "A", "AA", "AAA", "AAAA", "AAAAA", "AAAAE", "AAAAI", "AAAAO", "AAAAU"์ ๋ค์์ธ 10๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #3
"I"๋ 1563๋ฒ์งธ ๋จ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์ #4
"EIO"๋ 1189๋ฒ์งธ ๋จ์ด์ ๋๋ค.
๋ด ํด๋ต
#include <string>
#include <vector>
#include <map>
using namespace std;
int count = 0;
map<string, int> dict{};
string vowels[] = {"A", "E", "I", "O", "U"};
void make_word(string _s)
{
// ๋จ์ด์ ๊ธธ์ด๊ฐ 5์ด์์ด๋ฉด return;
if(_s.size() > 5)
return;
// ์ฌ์ ์ ๋จ์ด์ ์์๋ฅผ ๋ฑ๋กํ๋ค
dict[_s] = ++count;
// ๊ณ์ ๋จ์ด ์กฐํฉ ๋ง๋ค๊ธฐ
for(const auto& s : vowels)
make_word(_s + s);
}
int solution(string _word) {
int answer = 0;
// ๋จ์ด ์กฐํฉ ๋ง๋ค๊ธฐ
for(const auto& s : vowels)
make_word(s);
return dict[_word];
}
'๐ฅ๏ธ Study Note > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ํ๊ฒ ๋๋ฒ(C++) (0) | 2023.04.07 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ(C++) (0) | 2023.04.06 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ๋์คํฌ ์ปจํธ๋กค๋ฌ(C++) (0) | 2023.04.04 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ๋ ๋งต๊ฒ(C++) (0) | 2023.04.02 |
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ํผ๋ก๋(C++) (0) | 2023.04.01 |