프로그래머스 3진법 뒤집기 (JAVA)

2026. 5. 22. 13:14·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/68935


📌 문제 개요

자연수 n을 3진법으로 변환한 뒤 숫자를 뒤집고,
다시 10진수로 변환하는 문제이다.

 

단순 구현 문제처럼 보이지만,
Integer.parseInt() 의 진법 처리 방식을 정확히 이해해야 한다.


📌 접근 방법

문제 해결 흐름은 다음과 같다.

  1. Integer.toString(n, 3) 으로 3진수 문자열 변환
  2. StringBuilder.reverse() 로 문자열 뒤집기
  3. Integer.parseInt(str, 3) 으로 다시 10진수 변환

📌 핵심 아이디어

1. 10진수 → 3진수 변환

Integer.toString() 의 두 번째 인자에 진법을 넣으면
해당 진수 문자열로 변환할 수 있다.

String ternary = Integer.toString(n, 3);
45 → "1200"

2. 문자열 뒤집기

StringBuilder.reverse() 를 사용하면 간단하게 문자열을 뒤집을 수 있다.
String reversed = new StringBuilder(ternary)
        .reverse()
        .toString();
1200 → 0021
 

3. 다시 10진수 변환

여기서 핵심은 3 을 반드시 넣어야 한다는 점이다.

Integer.parseInt(reversed, 3);

만약 처럼 작성하면 기본적으로 10진수로 처리된다.

Integer.parseInt(reversed);

📌 전체 코드

class Solution {
    public int solution(int n) {

        // 10진수 → 3진수 문자열
        String ternary = Integer.toString(n, 3);

        // 문자열 뒤집기
        String reversed = new StringBuilder(ternary)
                .reverse()
                .toString();

        // 뒤집힌 3진수 → 10진수
        return Integer.parseInt(reversed, 3);
    }
}

📄 정리

  • Integer.toString(n, radix) 로 진법 변환 가능
  • StringBuilder.reverse() 로 문자열 뒤집기 가능
  • Integer.parseInt(str, radix) 사용 시 진법 지정 필수
728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

프로그래머스 시저 암호 JAVA (문자열, 구현, 아스키코드)  (0) 2026.05.25
프로그래머스 가장 가까운 같은 글자 JAVA 풀이 (해시맵, 문자열)  (0) 2026.05.24
프로그래머스 최소직사각형 (JAVA)  (0) 2026.05.22
프로그램머스 이상한 문자 만들기 (JAVA)  (0) 2026.05.21
프로그래머스 삼총사 JAVA 풀이 (브루트포스, 조합, 시간복잡도)  (0) 2026.05.20
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 프로그래머스 시저 암호 JAVA (문자열, 구현, 아스키코드)
  • 프로그래머스 가장 가까운 같은 글자 JAVA 풀이 (해시맵, 문자열)
  • 프로그래머스 최소직사각형 (JAVA)
  • 프로그램머스 이상한 문자 만들기 (JAVA)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN
      • 코테(Solved.ac + Programmers)
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    정처기실기
    기출문제
    solved.ac
    구현
    프로그래머스
    정보처리기사 실기 기출문제
    수학
    자료구조
    피보나치
    실기
    정처기
    level1
    완전탐색
    dp
    배열
    정렬
    자바
    알고리즘
    문자열
    level0
    springboot
    Level2
    시뮬레이션
    java
    백준
    코딩테스트
    백엔드개발자
    브루트포스
    정처기오답노트
    정보처리기사
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
프로그래머스 3진법 뒤집기 (JAVA)
상단으로

티스토리툴바