GitHubSeob
C++ / 프로그래머스 / 124 나라의 숫자 본문
문제 |
https://programmers.co.kr/learn/courses/30/lessons/12899
코딩테스트 연습 - 124 나라의 숫자
programmers.co.kr
문제풀이 |
숫자 3개 1, 2, 4를 이용하여 해당 숫자를 변환하는 문제이다.
단순히 3진법으로 변환하기에는 3일 때 몫은 1이고 나머지가 0인데 124 나라의 수로는 4라서 조금 바꿔야 한다.
3의 배수일 때 answer에 4를 더하고 n에 -1을 뺀다.
그 외의 경우는 n을 3으로 나눈 나머지를 string형으로 만들어 더하면 된다.
그리고 마지막에는 reverse를 통해 역순으로 바꿔줘야한다.
코드 |
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(int n) {
vector<string>number = { "1","2","4" };
string answer("");
while (n > 0) {
if (n % 3 == 0) {
answer += "4";
--n;
}
else answer += to_string(n % 3);
n /= 3;
}
reverse(answer.begin(), answer.end());
return answer;
}
'Programmers > Level 2' 카테고리의 다른 글
C++ / 프로그래머스 / 더 맵게 (0) | 2022.04.14 |
---|---|
C++ / 프로그래머스 / 기능개발 (0) | 2022.04.14 |
C++ / 프로그래머스 / 멀쩡한 사각형 (0) | 2022.04.14 |
C++ / 프로그래머스 / 오픈채팅방 (0) | 2022.04.13 |
C++ / 프로그래머스 / 가장 큰 수 (0) | 2021.11.12 |