자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
형변환이 풀이도 짧고 편하기는 한데 예상치못한 오류나
형변환시 객체를 생성하고 삭제하기때문에 오래걸릴수있으니
실제로는 사용하는것은 피하는것을 추천한다.
첫번째는 실패했었는데.. 그이유는 answer =으로 +=는 해주지 않아서 마지막숫자만 보내줬기때문이다.
def solution(n):
answer = 0
doc = []
while n:
doc.append(n%3)
n //= 3
mul = 3
for i in range(len(doc)-1, 0, -1):
answer += doc[i-1]*mul
mul *= 3
return answer+doc[len(doc)-1]
def solution(n):
answer = 0
doc = ''
while n:
doc += str(n%3)
n //= 3
answer = int(doc, 3)
return answer
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class Solution {
public int solution(int n) {
int answer = 0;
Queue<Integer> queue = new LinkedList<>();
while (n != 0) {
int value = n % 3;
queue.offer(value);
n /= 3;
}
while (!queue.isEmpty()) {
int pop = queue.poll();
answer *= 3;
answer += pop;
}
return answer;
}
}
public class Solution {
public int solution(int n) {
int answer = 0;
String a = "";
while(n>0){
a = a +(n%3);
n /= 3;
}
a = new StringBuffer(a).toString();
return Integer.parseInt(a, 3);
}
}