- 3진법 뒤집기2023년 11월 24일 22시 01분 00초에 업로드 된 글입니다.작성자: oneseel
3진법 뒤집기
문제설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
입출력 예 설명
입출력 예 #1
- 답을 도출하는 과정은 다음과 같습니다.
- 따라서 7을 return 해야 합니다.
입출력 예 #2
- 답을 도출하는 과정은 다음과 같습니다.
- 따라서 229를 return 해야 합니다.
내 풀이
>> while문을 이용해서 n을 3으로 나눈 나머지 값을 임시 값 temp에 넣어준다.
>> 이 값을 StringBuilder 객체 sb에 넣어주고, n은 3으로 나눠주면서 n이 0보다 작거나 같으면 반복문이 끝난다.
>> 위의 과정이 10진법을 3진법으로 바꾸는 방법이다. 이 방법을 쓰면 3진법의 앞뒤가 바뀌어서 나온다.
>> Interger.paseInt를 이용하면 현재 sb에 있는 값을 3진법에서 10진법으로 바꿔준다.
class Solution { public int solution(int n) { StringBuilder sb = new StringBuilder(); while (n > 0) { int temp = n % 3; sb.append(temp); n /= 3; } return Integer.parseInt(sb.toString(), 3); } }
https://school.programmers.co.kr/learn/courses/30/lessons/68935
'코딩테스트' 카테고리의 다른 글
삼총사 (1) 2023.11.26 이상한 문자 만들기 (0) 2023.11.24 최대공약수와 최소공배수 (0) 2023.11.20 직사각형 별찍기 (1) 2023.11.20 행렬의 덧셈 (0) 2023.11.20 댓글