알고리즘 부셔버렷/ProblemSolving
[프로그래머스] 124 나라의 숫자 (문제 설명, 해결 과정, 코드 전문, c++)
Unagi_zoso
2022. 6. 2. 01:25
문제 설명 |
본 문제는 프로그래머스의 124 나라의 숫자 문제입니다.
해결 과정 |
1 2 4 세 가지의 숫자만을 사용하기에 3진법으로 주어지는 숫자를 나누고 각 대응되는 숫자를 1, 2, 4로 치환하여 반환하면됩니다.
코드 전문 |
#include <string>
#include <vector>
#include <algorithm>
#include <regex>
using namespace std;
string solution(int n) {
string answer = "";
n--;
while (1)
{
if (n < 3) {answer += to_string(n); break;}
if (n >= 3)
{
answer += to_string(n%3);
n = n/3;
n--;
}
}
reverse(answer.begin(), answer.end());
answer = regex_replace(answer, regex("2"), "4");
answer = regex_replace(answer, regex("1"), "2");
answer = regex_replace(answer, regex("0"), "1");
return answer;
}
느낀 점 (잡설 99% , 배운점 1%(많은 편)) |
더보기
부호없는 int는 40억, long long은 1800경 정도 됩니다. 지난 번에 배웠던 regex를 여기서도 써봤습니다.
긴 글 읽어주셔서 감사합니다.
부족한 점이 있다면 부디 알려주시면 감사하겠습니다.