ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋ชจ์Œ์‚ฌ์ „(C++)

2023. 4. 5. 11:22ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ํƒ€๊ฒŸ ๋„˜๋ฒ„(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์ „๋ ฅ๋ง์„ ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋” ๋งต๊ฒŒ(C++)
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (146)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (2)
        • C++ (1)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (8)
        • ์˜ค๋‹ต๋…ธํŠธ (4)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
Beankong_
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋ชจ์Œ์‚ฌ์ „(C++)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”