개발일기

자연수 뒤집어 배열로 만들기 - Level 1 본문

Algorithm

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

한둥둥 2024. 12. 27. 00:17

 

이번 문제를 풀 때, 컨셉은 최대한 직관적이고 누가보아도 어떤 코드인지 알 수 있는 코드를 만드는 것 입니다. 

 

앞으로도 코딩테스트 문제를 푸는 것도 중요하겠지만 최대한 직관적인 코드를 작성하려고 노력 할 것입니다. 

 

import java.util.*;

class Solution {
    
    public int[] solution(long n) {
        
        String reverse = getReverseNumber(n);
        
        return reverse.chars().map(Character::getNumericValue).toArray();
    }
    
    private String getReverseNumber(long n) {
        return new StringBuilder(Long.toString(n)).reverse().toString();
    }
    
}

 

 

1. String reverse = getReverseNumber(n);

n을 문자열로 변환하고 뒤집는 로직이 getReverseNumber 메서드로 위임됩니다.

가독성재사용성이 향상됩니다.

2. reverse.chars().map(Character::getNumericValue).toArray();

문자열을 IntStream으로 변환한 후 각 문자를 숫자로 매핑하여 배열로 반환합니다.

 

private String getReverseNumber(long n)

접근 제어자: private

외부에서 호출하지 못하도록 설정하여 해당 메서드가 내부 구현 디테일임을 나타냅니다.

동작:

1. Long.toString(n): long 타입의 숫자를 문자열로 변환합니다.

: 12345L"12345".

2. new StringBuilder(...).reverse(): 문자열을 뒤집습니다.

: "12345""54321".

3. .toString(): 뒤집어진 문자열을 반환합니다.