코딩테스트준비
프로그래머스 - 124 나라의 숫자 (구현)
haeullee
2023. 11. 1. 12:12
https://school.programmers.co.kr/learn/courses/30/lessons/12899
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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;
}