프로그래머스 연습 - 3진법 뒤집기

shin_stealer·2025년 7월 17일
0

📘 [프로그래머스] 3진법 뒤집기 (Kotlin 풀이)

✨ 문제 설명

자연수 n이 주어졌을 때,

n을 3진법으로 변환하고,

3진법 숫자를 뒤집은 뒤,

그 결과를 다시 10진법으로 변환해서

리턴하는 함수를 작성해야 합니다.

📌 제한사항

n은 1 이상 100,000,000 이하인 자연수입니다.

🧠 문제 접근

이 문제는 다음 3단계를 이해하면 쉽게 풀 수 있습니다:

✅ 1. 10진법 → 3진법
Kotlin에서 n.toString(3)을 사용하면 간단하게 3진법 문자열로 바꿀 수 있습니다.

✅ 2. 문자열 뒤집기
reversed()를 사용해서 문자열을 뒤집으면 됩니다.

✅ 3. 3진법 문자열 → 10진법
문자열.toInt(3)으로 3진법 문자열을 다시 10진수로 변환할 수 있습니다.

✏️ 예제 풀이
예제 1)
text
복사
편집
입력: 45

  1. 3진법으로 변환 → 1200

  2. 문자열 뒤집기 → 0021

  3. 10진법으로 변환 → 7
    예제 2)
    text
    복사
    편집
    입력: 125

  4. 3진법으로 변환 → 11122

  5. 문자열 뒤집기 → 22111

  6. 10진법으로 변환 → 229
    ✅ 최종 코드 (Kotlin)
    kotlin
    복사
    편집

    class Solution {
    fun solution(n: Int): Int {
    val reversedBase3 = n.toString(3).reversed()
    return reversedBase3.toInt(3)
    }
    }

📚 참고: 진법 변환 요약
목적 Kotlin 코드
10진수 → 3진법 문자열 n.toString(3)
3진법 문자열 → 10진수 "22111".toInt(3)
문자열 뒤집기 "abc".reversed()

💬 마무리
이 문제는 Kotlin의 내장 함수만 잘 사용하면 한 줄로도 풀 수 있는 깔끔한 문제입니다.
진법 변환 로직을 직접 구현할 수도 있지만, 코딩테스트에서는 내장함수를 적극 활용하는 것도 전략입니다 💡

profile
I am a Blacksmith.

0개의 댓글