-
반응형
programmers.co.kr/learn/courses/30/lessons/68935
코딩테스트 연습 - 3진법 뒤집기
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수
programmers.co.kr
문제풀이)
이진수를 구하듯이 같은방법으로 3진수를 구해준다.
3진수 구하는 방법
1.n을 3으로 나눠준 값을 temp에 저장한다. -> n을 3으로 나눠준다 (n>0일때까지)
2.temp를 리버스시킨다.
하지만 문제에서 3진법 앞뒤반전을 하라했으니, 우리는 1번까지만 시행해주고, 3진수를 10진수로 변환시켜주면된다.
#include <string> #include <vector> using namespace std; int solution(int n) { int answer = 0; string temp=""; while(n>0){ temp+=((n%3)+'0'); n/=3; } int mul=1; for(int i=temp.length()-1;i>=0;i--){ answer+=(temp.at(i)-'0')*mul; mul*=3; } return answer; }
반응형'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 정수 삼각형 (0) 2021.03.03 [프로그래머스] 같은 숫자는 싫어 (0) 2020.11.24 [프로그래머스] 가운데 글자 가져오기 (0) 2020.11.24 [프로그래머스] 2016년 (0) 2020.11.24 [프로그래머스] K번째수 (0) 2020.11.24 댓글