자연수를 뒤집어 배열로 만들기

김나영·2023년 6월 20일
0

프로그래머스

목록 보기
31/39

문제 : 자연수를 뒤집어 배열로 만들기

풀이

String s = Long.toString(n);
  • 자연수 n을 문자열로 치환
int answer[] = new int[s.length()];
  • answer 배열에 문자열 길이만큼의 배열을 선언
for (int i = s.length()-1 ; i >=0 ; i--) {
    answer[s.length()-1-i] = s.charAt(i)-'0';
}
  • 문자열 길이만큼 반복 출력

  • 뒤집어서 반복을 해주기 때문에 길이의 -1akszma i 값에 넣어준 다음 i를 하나씩 빼주면서 0까지 반복

  • answer에는 순차적으로 값이 쌓일 수 있도록 s.length()-1-i

  • 순서대로 설정한 answer에 charAt()을 사용해 값을 넣어줌

  • '0'의 아스키코드가 48이기 때문에 -'0'을 사용

    • ex) 0~9 -> 48 ~ 57 '1' = 49 - 48 = 1, '2' = 50 - 48 = 2

전체 코드

class Solution {
    public int[] solution(long n) {
        String s = Long.toString(n);
        int answer[] = new int[s.length()];
        for (int i = s.length()-1 ; i >=0 ; i--) {
            answer[s.length()-1-i] = s.charAt(i)-'0';
            //0~9 -> 48 ~ 57 '2' = 50 - 48 = 2
        }
        return answer;
    }
}

0개의 댓글