개발하는 고양이 오이

19. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 자연수 뒤집어 배열로 만들기 / 다른 사람의 풀이 본문

코딩테스트 - JAVA/프로그래머스 Programmers

19. [JAVA] 프로그래머스 코딩테스트 연습 Level.1 - 자연수 뒤집어 배열로 만들기 / 다른 사람의 풀이

Cucum 2022. 4. 30. 00:43

 

https://programmers.co.kr/learn/challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

프로그래머스 코딩테스트 연습 Level.1 - 자연수 뒤집어 배열로 만들기

 



풀이

class Solution {
    public int[] solution(long n) {
        
        String number = Long.toString(n);       // long형 n 을 String으로 변경
        int[] answer = new int[number.length()];

        // result 배열에 String형 number을 한 글자씩 자르기
        String result[] = new String[number.length()];
        for (int i = 0; i < number.length(); i++) {
            result[i] = number.substring(i, i + 1);
        }
        
        // result2 배열에 result 배열에 존재하는 데이터 거꾸로 넣기
        String result2[] = new String[number.length()];
        String number2 = "";
        for (int i = 0; i < number.length(); i++) {
            result2[i] = result[number.length() - i - 1];
            number2 += result2[i];
        }
        
        // String형 number2을 int형 배열 answer에 넣기
        for (int i = 0; i < number.length(); i++) {
            answer[i] = number2.charAt(i) - '0';           
        }   
        
        return answer;
    }
}

charAt

= String으로 저장된 문자열 중에서 한 글자만 선택해서 char 타입으로 변환

charAt(int index)로 추출한 숫자형 문자는 char형이므로 int형으로 변환 시 아스키코드로 변환됨

따라서 '0'(48)을 빼주어야 의도한 리턴값 얻을 수 있음

 


다른 사람의 풀이