되면한다
프로그래머스 - 124 나라의 숫자 (구현) 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12899
1(10진수)은 %3 결과로 1.
2(10진수)는 %3 결과로 2.
3(10진수)은 %3 결과로 0이 나오고 몫은 1이 나오는데, 4라고 표기되어야한다.
이 규칙을 정의 해보면,
"3으로 나누어 떨어지면, 나머지값을 4로 쓰고, 몫을 -1 해준다."
예를 들어
12를 3으로 나누면, 몫은 4 나머지는 0이 된다. -> 1) 몫 4에서 -1 해서, 3으로 만들기! 2) 나머지 0을 4로 표기
다시 3을 3으로 나누면, 몫은 1 나머지는 0이 된다. -> 1) 몫 1에서 -1 해서, 0으로 만들기! 2) 나머지 0을 4로 표기
따라서, 44
#include <string>
#include <vector>
using namespace std;
string solution(int n) {
string answer = "";
while(n != 0)
{
if(n%3 == 0)
{
answer = "4" + answer;
n = n/3;
n--;
}
else if(n%3 == 1)
{
answer = "1" + answer;
n = n/3;
}
else
{
answer = "2" + answer;
n = n/3;
}
}
return answer;
}
'코딩테스트준비' 카테고리의 다른 글
파이프 옮기기 1 (1) | 2023.11.19 |
---|---|
프로그래머스 - 여행경로(dfs) (0) | 2023.11.12 |
프로그래머스 SQL (0) | 2023.10.26 |
프로그래머스 - 광물 캐기 (0) | 2023.10.15 |
프로그래머스 - 경주로 건설 (0) | 2023.10.08 |
Comments