티스토리 뷰

 

문제는 위와 같으며, 주어지는 숫자를 3으로 반복하여 나누면서 나머지를 순서대로 저장하는 방식으로 문제를 해결하였습니다.

 

파이썬 코드는 다음과 같습니다.

def solution(n):
    answer = ""

    while n > 0:
    	# n 이 3의 배수인 경우
        if n % 3 == 0:
            answer = str(4) + answer[0:] # 문자열 맨 앞에 4를 추가하고 기존 문자열을 뒤에 추가
            n = (n // 3) - 1
        else:
            answer = str(n % 3) + answer[0:] # 문자열 맨 앞에 n 을 3으로 나눈 나머지를 추가하고 기존 문자열을 뒤에 추가
            n = n // 3 # n 을 3으로 나눈 몫을 다시 n 에 저장
            
    return answer

 

자바 코드는 다음과 같습니다.

import java.io.InputStreamReader;

class Solution {
    public String solution(int n) {
        StringBuilder sb = new StringBuilder();

        while (n > 0) {
            int tmp = n % 3;
            if (tmp == 0) {
                sb.insert(0, 4);
                n = (n / 3) - 1;
            } else {
                sb.insert(0, tmp);
                n /= 3;
            }
        }

        return sb.toString();
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함