프로그래머스

[프로그래머스] 3진법 뒤집기

킴준현 2024. 9. 3. 23:57

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

📌 3진법 뒤집기

 

 

📌 내가 구현한 정답

class Solution {
     public int solution(int n) {
     
        String answer = Integer.toString(n, 3);	// 3진수로 변환
        
        String reversed = new StringBuilder(answer).reverse().toString(); // 문자열 뒤집기
        
        return Integer.parseInt(reversed, 3); // 다시 10진수로 변환하여 반환
    }
}

 

 

  1. Integer.toString(n, 3)을 사용하여 정수 n을 3진수 문자열로 변환한다.
  2. StringBuilder를 사용하여 문자열을 뒤집는다.
  3. Integer.parseInt(reversed, 3)을 사용하여 뒤집힌 3진수 문자열을 다시 10진수로 변환한 값을 반환한다.

📖✏️ TIL


Integer.toString과 Integer.parseInt는 Java에서 정수(int)와 문자열(String) 간의 변환을 처리하는 데 사용되는 메서드들이다. 이 두 메서드는 특히 진법 변환에서 자주 사용된다.

📌 Integer.toString(String s, int radix)

  • 기능: 주어진 정수 n을 특정 진법(radix)의 문자열로 변환한다.
  • 매개변수:
    • n: 변환할 정수.
    • radix: 변환할 진법(2부터 36까지 가능).
  • 반환값: 정수 n을 radix 진법으로 표현한 문자열.
  • 예시:
int n = 45;
String binaryString = Integer.toString(n, 2); // "45"를 2진수 문자열로 변환 ("101101")
String hexString = Integer.toString(n, 16);  // "45"를 16진수 문자열로 변환 ("2d")

 

 

📌 Integer.parseInt(String s, int radix)

  • 기능: 특정 진법(radix)의 문자열 s를 정수로 변환한다.
  • 매개변수:
    • s: 변환할 문자열. 이 문자열은 주어진 radix 진법에 따라 해석된다.
    • radix: 문자열 s의 진법(2부터 36까지 가능).
  • 반환값: 문자열 s를 radix 진법에서 해석한 정수.
  • 예시: 
String binaryString = "101101";
int n = Integer.parseInt(binaryString, 2); // 2진수 문자열 "101101"을 정수로 변환 (45)

String hexString = "2d";
int nHex = Integer.parseInt(hexString, 16); // 16진수 문자열 "2d"를 정수로 변환 (45)

 

 

🔑 참고

https://hianna.tistory.com/524