본문 바로가기

개발/코테

[JAVA] 이어 붙인 수

[문제]

정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.

 

[내 풀이]

class Solution {
    public int solution(int[] num_list) {
        int odd = 0;
        int even = 0;
        for (int i = 0; i < num_list.length; i++){
            if (i ==0){
                if(num_list[i] %2 ==0){
                    even = num_list[i];
                }else{
                    odd = num_list[i];
                }
            }
            else{
                if ( num_list[i] %2 ==0 ){
                    even = Integer.parseInt(even + "" + num_list[i]);
                }
                else{
                    odd = Integer.parseInt(odd+""+num_list[i]);
                }
            }
            
        }
        return even+odd;
    }
}

*숫자 이어 붙이기 -> Ingeger.parseInt 활

[다른 사람 풀이]

class Solution {
    public int solution(int[] num_list) {
        int answer = 0;

        int even = 0;
        int odd = 0;

        for(int num : num_list) {
            if(num % 2 == 0) {
                even *= 10;
                even += num;
            } else {
                odd *= 10;
                odd += num;
            }
        }
        answer = even + odd;

        return answer;
    }
}

- 숫자를 붙여줄 때, 10씩을 곱해주면 된다는 것도 기억하기!

 

- 나는 even, odd를 정수형으로 선언했지만, String으로 선언하여 for문 안에서  숫자 + "" 이렇게 코드를 짜주어도 된다.

'개발 > 코테' 카테고리의 다른 글

[JAVA] 수 조작하기1  (0) 2024.04.11
[JAVA] 마지막 두 원소  (0) 2024.04.11
[JAVA] 주사위게임2  (0) 2024.04.05
[JAVA] 조건 문자열  (0) 2024.04.04
[JAVA] 홀짝에 따라 다른 값 반환하기  (0) 2024.04.04