programmers [C++] : 124 나라의 숫자

2020. 6. 15. 13:57·Algorithms/programmers

programmers.co.kr/learn/courses/30/lessons/12899#

 

코딩테스트 연습 - 124 나라의 숫자

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

programmers.co.kr

문제 설명


124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.

RULE

1.  124 나라에는 자연수만 존재합니다.

2. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

 

 

접근 방법


저는 DP로 접근을 했습니다 1,2,4로 나누어지는 것 뿐 본질적으로 3진법으로 볼 수 있다고 생각 했습니다. 

그래서 3으로 나누었을때 나머지가 0이면 나머지가 마지막 숫자인 4가 되고 앞의 숫자는 몫에서 -1을 하고 몫을 앞의 과정을 반복해서 시행합니다. 

 

코드


#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

string answer = "";
void dp(int n){
    int mauk = n/3;
    int res = n%3;
    if(res==0){
        res=4;mauk-=1;
    }
    answer+=to_string(res);
    if(mauk<3) {
        if(mauk==0)return;
        answer+=to_string(mauk);return;
    }
    else if(mauk==3){
        mauk=4;answer+=to_string(mauk);
        return;
    }
    else{dp(mauk);}
}
string solution(int n) {
    
    dp(n);
    reverse(answer.begin(),answer.end());
    return answer;
}

funny algorithm 0_<

저작자표시 (새창열림)

'Algorithms > programmers' 카테고리의 다른 글

programmers [C++] : 지형 이동  (0) 2020.06.17
programmers [C++] : 종이접기  (0) 2020.06.15
programmers [C++] : 여행경로  (0) 2020.05.27
programmers [C++] : 타겟 넘버  (0) 2020.05.22
programmers [SQL] : JOIN  (0) 2020.05.22
'Algorithms/programmers' 카테고리의 다른 글
  • programmers [C++] : 지형 이동
  • programmers [C++] : 종이접기
  • programmers [C++] : 여행경로
  • programmers [C++] : 타겟 넘버
dev.wookii
dev.wookii
Effort Maketh Happiness
  • dev.wookii
    습관처럼
    dev.wookii
  • 전체
    오늘
    어제
    • 분류 전체보기 (295)
      • Language (35)
        • python (13)
        • C++ (22)
      • Kaggle (4)
      • Algorithms (112)
        • BOJ (58)
        • programmers (43)
        • SWExpertAcademy (2)
      • Certification (38)
        • Adsp (0)
        • Sqld (28)
        • 정처기 (9)
        • 빅데이터 분석기사 (0)
      • Data Analysis & ML (6)
      • 금융 & 디지털 (65)
      • CS (32)
        • DB (2)
        • SE (3)
        • Web&JSP (1)
        • Network (11)
        • OS (2)
        • Linux&Unix (6)
        • Server (1)
        • UX,UI (1)
        • 보안 (5)
      • 기타 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    시뮬레이션
    programmers
    funny algorithms
    Ebay korea #coding test
    2020 KAKAO
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dev.wookii
programmers [C++] : 124 나라의 숫자
상단으로

티스토리툴바