PCCP/프로그래머스

[프로그래머스 JAVA] 자연수 뒤집어 배열로 만들기

Life Log 2025. 5. 3. 22:48
반응형

📌 문제 링크

👉 프로그래머스 문제 바로가기


✨ 1. 문제의 핵심 요약

주어진 자연수 n뒤집어서 각 자리 숫자를 배열로 반환하는 문제입니다.
예: 12345 → [5,4,3,2,1]


⚠️ 2. 주의 사항

  • n은 최대 10,000,000,000까지 주어지므로 long 타입으로 처리해야 합니다.
  • 문자열로 변환 후 역순 처리를 하면 구현이 간단해집니다.
  • 숫자를 문자로 바꾸면 '0' 문자를 빼주기 위해 - '0' 연산이 필요합니다.

🛠️ 3. 슈도코드 (의사코드)

1. n을 문자열로 변환
2. 문자열을 뒤집기
3. 각 문자를 하나씩 꺼내 정수로 변환해 배열에 담기
4. 배열 리턴

💡 4. 코드 + 주석

class Solution {
    public int[] solution(long n) {
        // 1. long → String 변환
        String str = Long.toString(n);

        // 2. StringBuilder로 문자열 뒤집기
        StringBuilder sb = new StringBuilder(str);
        str = sb.reverse().toString();

        // 3. char 배열로 변환
        char[] ch = str.toCharArray();

        // 4. 결과 int 배열 생성
        int[] answer = new int[ch.length];

        // 5. 문자에서 숫자로 변환 ('0' 아스키코드 값 빼주기)
        for (int i = 0; i < ch.length; i++) {
            answer[i] = ch[i] - '0';
        }

        return answer;
    }
}

🔥 요약 마무리

이 문제는 문자열로 변환 후 StringBuilder.reverse()로 손쉽게 해결할 수 있는 문제입니다.
숫자 → 문자 → 숫자 변환의 기본기를 다지기에 좋은 문제이니, 꼭 직접 코드를 작성해보세요!

728x90
반응형