Programers : 124 나라의 숫자

김정욱·2021년 1월 20일
0

Algorithm - 문제

목록 보기
58/249
post-custom-banner

124 나라의 숫자

  • 처음에 보고 당황했다. 하지만, keypoint는 결국 3가지로 표현한다는 것을 알아야 한다
  • 하다보면 3으로 나누었을 때 나머지가 0인 경우에만 계속 어긋난다는 것을 깨달았다.
    --> 나머지가 0인 경우에만 예외처리를 해주어야 한다!
  • 배열을 굳이 안만들고 간편하게 쓰는 방법을 발견했다 !
  /* "412"[b] 이부분은 진짜 신박한 방법; */
  answer = "412"[b] + answer;

코드

#include <string>
#include <vector>

using namespace std;

string solution(int n) {
    string answer = "";
    int b;
    while(n != 0)
    {
        b = n%3; // 나머지
        n = n/3; // 몫
        /* 나머지가 0일 경우에 몫을 하나 깎으면 해결됨! */
        if(b == 0){ 
            answer = '4' + answer;
            n--;
        }else{
            /* "412"[b] 이부분은 진짜 신박한 방법; */
            answer = "412"[b] + answer;
        }
    }
    return answer;
}
profile
Developer & PhotoGrapher
post-custom-banner

1개의 댓글

comment-user-thumbnail
2021년 1월 20일

신박 is best

답글 달기