๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm ๐Ÿง‘๐Ÿป‍๐Ÿ’ป/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค(Programmers)

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž(Level 2)

by dkswnkk 2022. 4. 14.

๋ฌธ์ œ

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - 124 ๋‚˜๋ผ์˜ ์ˆซ์ž

 

programmers.co.kr

 

์ฝ”๋“œ

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(int n) {
    string answer = "";
    
    while(n){
        bool flag = false;
        if(n%3==0){
            answer+='4';
            flag = true;
        }
        if(n%3==1) answer+='1';
        if(n%3==2) answer+='2';
        n/=3;
        if(flag) n-=1;
    }
    reverse(answer.begin(),answer.end());
    return answer;
}

 

ํ’€์ด

  • N % 3 == 0 ์ผ ๋•Œ 4
  • N % 3 == 1 ์ผ๋•Œ 1
  • N % 3 == 2 ์ผ๋•Œ 2

์œ„ ๊ทœ์น™์œผ๋กœ 124๋‚˜๋ผ์˜ ์ˆซ์ž๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ N์ด 3์˜ ์•ฝ์ˆ˜์ผ ๋•Œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ 3์˜ ์•ฝ์ˆ˜์ผ ๋•Œ๋Š” N-1์„ ํ•ด์คŒ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๊ทธ ์ด์œ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ n์ง„์ˆ˜๋Š” 0~n-1๊นŒ์ง€์˜ ์ˆซ์ž์ธ๋ฐ, 124 ๋‚˜๋ผ์—์„œ๋Š” 0์ด ์—†์ด 4๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

 

๋Œ“๊ธ€