알고리즘 테스트 공부

이어 붙인 수

&u_na& 2023. 12. 21. 21:43

for(int i=0; i<num_list.length; i++){
            if(num_list[i] % 2 == 0){
                sum += num_list[i];
            }else{
                mi += num_list[i];
            }
        }

타입을 문자열로 지정해준 변수에 넣으면 따로 문자로 변경하는 작업은 필요가 없구나...!!!(@±@);;

 

 

새롭게 알게된 지식!!

 

 

 

다른풀이

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을 곱해주는 방법.....!!!

 

import java.util.*;
import java.util.stream.Collectors;

class Solution {
    public int solution(int[] numList) {
        return Integer.parseInt(Arrays.stream(numList).filter(value -> value % 2 != 0).mapToObj(String::valueOf).collect(Collectors.joining())) + Integer.parseInt(Arrays.stream(numList).filter(value -> value % 2 == 0).mapToObj(String::valueOf).collect(Collectors.joining()));
    }
}

 

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