🎁 μ½”λ”©ν…ŒμŠ€νŠΈ

level1. μžμ—°μˆ˜ λ’€μ§‘μ–΄ λ°°μ—΄λ‘œ λ§Œλ“€κΈ° Java

jhj.sharon 2023. 8. 24. 22:28
λ°˜μ‘ν˜•

✨ 문제

πŸ’»μ½”λ“œ

class Solution {
    public int[] solution(long n) {

        String str=Long.toString(n);
        int[] answer = new int[str.length()];
        
        int index = 0;
        while(n>0){
            answer[index++] = (int)(n%10);
            n/=10;
        }
        return answer;
    }
}

πŸ‘©‍πŸ’» 풀이 방법

  • 숫자λ₯Ό λ¬Έμžμ—΄λ‘œ λ³€ν™˜ν•œν•˜κ³  λ¬Έμžμ—΄ 길이둜 λ°˜ν™˜ν•  배열을 μ΄ˆκΈ°ν™”ν•œλ‹€.
  • answer[index++] = (int)(n % 10); n의 λ‚˜λ¨Έμ§€(λ§ˆμ§€λ§‰ 자리수)λ₯Ό 배열에 μ €μž₯ν•œλ‹€. 이 λ•Œ λ§ˆμ§€λ§‰ λ‚˜λ¨Έμ§€κ°€ λ°˜ν™˜λ  μˆ«μžλ°°μ—΄μ˜ κ°€μž₯ 처음으둜 μžλ¦¬μž‘μœΌλ―€λ‘œ 자릴수λ₯Ό λ’€μ§‘μ–΄ 배열에 μ €μž₯λ˜λŠ” λ‘œμ§μ΄λ‹€.
  • n을 10으둜 λ‚˜λˆ μ„œ λ‹€μŒ 자리수둜 μ΄λ™ν•œλ‹€. 

πŸ”” λŠλ‚€μ 

  • 처음 문제λ₯Ό ν’€μ—ˆμ„ λ•ŒλŠ” longμžλ£Œν˜•μ˜ 숫자의 자릿수λ₯Ό κ΅¬ν•΄μ„œ λ°˜ν™˜ν•  배열을 μ΅œκΈ°ν™”ν•΄μ•Όν•œλ‹€κ³  μƒκ°ν–ˆλ‹€. κ·Έλž˜μ„œ 둜그λ₯Ό μ‚¬μš©ν•˜λŠ” 방법을 κ³ λ €ν–ˆλ‹€. String.valueOf(num).length();
  • κ·Έλ ‡μ§€λ§Œ 둜그λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” λΆ€λ™μ†Œμˆ˜μ  μ—°μ‚°μ˜ 문제둜 인해 μ˜€μ°¨κ°€ λ°œμƒν•  수 μžˆλŠ” λ¬Έμ œκ°€ μžˆλ‹€.
  • μœ„ μˆ˜μ‹μ€ κ°„λ‹¨ν•΄μ„œ 큰 영ν–₯은 μ—†κ² μ§€λ§Œ 둜그 연산은 일반적으둜 CPUμ—μ„œ 더 λ§Žμ€ 사이클을 ν•„μš”λ‘œ ν•œλ‹€. 
λ°˜μ‘ν˜•