알고리즘/Programmers

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

개발자 정지은 2023. 5. 20. 21:08

  • 풀이법n을 각 자리에 맞춰서 거꾸로 배열에 넣어줘야 하기 때문에 길이를 알아야한다따라서 n을 String으로 변환하여 길이를 알아낸 후 아스키 코드에 맞게 빼주어서 반대로 넣어준다
  • 코드
import java.util.*;
import java.io.*;

class Solution {
    public int[] solution(long n) {
        //String으로 변환해주기
        //Wrapper Class인 Long.toString 을 사용
        String str = Long.toString(n);
        
        int [] answer = new int [str.length()];
        
        //배열에 넣어줄 기준이 될 idx
        int idx = 0;
        
        //str과 answer의 idx를 반대로 하여
        //반복문을 돌려 각 인덱스에 원소를 넣어준다
        //idx는 answer 배열의 기준 값이기 때문에
        //반복문 한번 돌 때마다 ++해줘야 함
        for(int i=str.length()-1; i>=0; i--) {
            answer[idx] = str.charAt(i)-'0';
            idx++;
        }
        return answer;
    }
}

어렵지 않은 문제였지만 문자를 숫자로 변환하면서 -'0' 을 해주는 것에 주의하자