Dolphins의 HelloWorld
Programmers Level 2 124나라의 숫자 본문
문제를 보고 곰곰히 생각하다보면
숫자가 1, 2, 4 로 표현된다는 차이만 있을 뿐 수가 나타내어지는 원리는
3진법을 표현하는 방식과 같다는 것을 알 수 있다.
다만 유의해야할 점은 기존 n진법과는 다르게 숫자가 0이 아니라 1부터 시작된다는 점이다.
이를 보정하기 위한 방법이 여러가지가 있는데
나는 n%3 = 0 인 경우에 n에서 3을 뺴준 상태에서 3을 나눠주는 방식을 사용하였다.
#include <string> #include <vector> using namespace std; string solution(int n) { string answer = ""; do{ if(n%3 == 0){ answer = "4" + answer; n = n-3; } else if(n%3 == 1){ answer = "1" + answer; } else if(n%3 == 2){ answer = "2" + answer; } if(n/3 == 0) break; }while(n = n/3); return answer; }
'Algorithm > Programmers 문제풀이' 카테고리의 다른 글
Programmers > 카카오코드 예선 >카카오 프렌즈 컬러링북 (0) | 2018.08.17 |
---|---|
Programmers Level 2 올바른 괄호 (0) | 2018.08.07 |
Programmers Level 1 같은 숫자는 싫어 (0) | 2018.08.06 |
Programmers Level3 2xn 타일링 (0) | 2018.07.12 |
Programmers level1 문자열 내 마음대로 정렬하기 (0) | 2018.07.12 |
Comments