-
프로그래머스 - 124 나라의 숫자 [C++]문제 풀이/프로그래머스 2023. 8. 24. 16:02반응형
이 문제는 진법 변환 문제이다. 나는 처음에 이 문제를 백트래킹을 이용해서 풀었으나, 효율성 검사에서 시간 초과가 나왔다. 아무리 최적화를 해도 시간 초과가 나온다. 그래서 검색을 해보니 단순 진법 문제였다. 이 문제에서 핵심은 3으로 나눈 나머지가 0일 때 4를 추가해주고, n을 1 빼줘야 값이 제대로 나온다는 것이다. 그 점만 파악하면 쉽게 풀 수 있었을 것 같다.
#include <string> #include <vector> #include <cmath> using namespace std; string solution(int n) { string answer = ""; while (n > 0) { int rem = n % 3; n /= 3; if (rem == 0) { answer = '4' + answer; n--; } else if (rem == 1) { answer = '1' + answer; } else if (rem == 2) { answer = '2' + answer; } } return answer; }
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 무인도 여행 [C++] (0) 2023.08.24 프로그래머스 - 연속된 부분 수열의 합 [C++] (0) 2023.08.24 프로그래머스 - 택배상자 [C++] (0) 2023.08.24 프로그래머스 - 롤케이크 자르기 [C++] (0) 2023.08.24 프로그래머스 - 숫자 변환하기 [C++] (0) 2023.08.24