본문 바로가기

Programmers

[JAVA] Lv.1 자연수 뒤집어 배열로 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/12932

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

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

정수형 타입 변수를 뒤집어 배열로 반환해야 하는 문제입니다

 

 

 

풀이 1

 

1. 주어진 정수를 10으로 나눈 나머지를 List에 삽입한다 -> 일의 자리

2. n에 n을 10으로 나눈 몫을 저장한다 -> 기존 십의 자리가 일의 자리가 됨

3. 몫이 0이 될 때까지 반복

import java.util.*;

class Solution {
    public List<Integer> solution(long n) {
    
        int[] answer = {};
        List<Integer> list = new ArrayList<>();
        
        for (int i=0; n>0; i++) {
            list.add((int)(n%10));
            n /= 10;
        }
        
        return list;
    }
}

 

 

풀이 2

 

1. n을 문자열로 변환

2. StringBuilder의 reverse 메소드 이용하여 문자열 뒤집음

3. 문자열을 쪼개어 정수형으로 변환 후 배열에 저장

    public int[] solution(long n) {
        String s = "" + n;
        
        StringBuilder sb = new StringBuilder(s);
        sb = sb.reverse();
        String[] str = sb.toString().split("");
        
        int[] answer = new int[str.length];
        for (int i=0; i<str.length; i++) {
            answer[i] = Integer.parseInt(str[i]);
        }
        
        return answer;
    }

'Programmers' 카테고리의 다른 글

[JAVA] Lv.1 콜라츠 추측  (1) 2024.03.26
[JAVA] Lv.1 없는 숫자 더하기  (0) 2024.03.26
[JAVA] Lv.1 하샤드 수  (1) 2024.03.17
[JAVA] Lv.1 정수 내림차순으로 배치하기  (0) 2024.03.17
[JAVA] Lv.1 정수 제곱근 판별  (0) 2024.03.17