-
프로그래머스 - 3진법 뒤집기알고리즘 2022. 7. 22.반응형
내 풀이
public class P_39 { public int solution(int n) { int answer = 0; StringBuilder sb = new StringBuilder(); while(n > 0) { if(n % 3 == 0) { sb.append(0); } else { sb.append(n % 3); } n = n / 3; } String x = sb.toString(); answer = Integer.parseInt(x, 3); // parseInt() 메소드는 첫번째 인자에 String 형태의 숫자 // 두번째 인자에 몇 진수를 10진수로 변경할건지 넣어주면 된다. // 3진수를 10진수로 바꿔야 하니까 두번째 인자에 3을 넣는다. return answer; } public static void main(String[] args) { // 3진법 뒤집기 P_39 p = new P_39(); int n = 45; System.out.println(p.solution(n)); } }
10진수를 3진수로 바꾸기 위해서는 3을 나눈 몫이나 나머지를 이용해서 구하면 된다.
그리고 다시 n진수를 10진수로 바꾸기 위해서 Integer 클래스의 parseInt() 메소드를 이용했다.
다른 사람 풀이
class Solution { public int solution(int n) { String a = ""; while(n > 0){ a = (n % 3) + a; n /= 3; } a = new StringBuilder(a).reverse().toString(); return Integer.parseInt(a,3); } }
처음부터 String의 빈 껍데기를 만들고 시작한 풀이 방법.
주요 풀이 해법은 똑같다.
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 실패율 (0) 2022.08.04 프로그래머스 - 약수의 개수와 덧셈 (0) 2022.07.24 프로그래머스 - 예산 (0) 2022.07.21 프로그래머스 - 두 개 뽑아서 더하기 (0) 2022.07.11 프로그래머스 - 비밀 지도 [2018 KAKAO BLIND RECRUITMENT] (0) 2022.07.06