-
2레벨 : 124 나라의 숫자코딩문제/프로그래머스 2020. 7. 20. 20:46
진법 문제를 적용하면 된다.
예를들어 우리가 쓰는 10진법은 10으로 나눈 몫과, 나머지를 통해, 수를 표현하는데, 이 문제의 경우, 1,2,4 의 숫자로 우리가 쓰는 10진법의 수를 표현하는것이기에 3으로 나는 몫과 나머지를 이용하면 문제를 푸는데 어려움이 없다.
#include <string> #include <vector> #include <iostream> using namespace std; string solution(int n) { string answer = ""; int tmp; char arr[3] = { '4','1','2' }; while (n > 0) { tmp = n % 3; n = n/3; if (tmp == 0) n--; answer = arr[tmp] + answer; } return answer; }
'코딩문제 > 프로그래머스' 카테고리의 다른 글
레벨1 : 달리기 경주(C++) (0) 2023.09.14 2레벨 : 가장 큰 수 (0) 2020.07.18 1레벨 : 자릿수 더하기 (0) 2020.07.15 1레벨 : 제일 작은 수 제거하기 (0) 2020.07.10 레벨1 : 이상한 문자 만들기 (0) 2020.07.10