Lv.1[3진법 뒤집기]
문제
코드
class Solution { public String third(int n){ String str = ""; while(n>0){ str = n%3 + str; n /=3; } return str; } public int ten(String str){ int len = str.length()-1; int sum = 0; for(int i=0; i<str.length(); i++){ //해당 자릿수의 제곱수와 해당 자릿수 값과 곱하기 sum += ((int)Math.pow(3,len--)) * (str.charAt(i)-'0'); } return sum; } public int solution(int n) { int answer = 0; StringBuilder sb = new StringBuilder(); sb.append(third(n)); // 3진법 변환 후 StringBuilder에 저장 String str = sb.reverse().toString(); // StringBuilder의 함수로 뒤집기 answer = ten(str); // 뒤집은 3진접을 10진법으로 변환 return answer; } }
알고 넘어가기
3진법을 10진법으로 다시 변환할 때 함수를 만들어서 그안에서 실행하도록 구현했다.
다른 사람의 풀이도 봤는데 더 간단한 풀이가 있었다.
Integer.parseInt(str,3); 이런식으로 String값을 주고 다음 매개변수 변환하고 싶은 진법을 주면 된다.
만약 8진법이였다면 Integer.parseInt(str,8); 이런식으로 주면 된다.
Author And Source
이 문제에 관하여(Lv.1[3진법 뒤집기]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@just_coding/Lv.13진법-뒤집기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)