반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[프로그래머스/Java] 코딩테스트 Lv.0 짝수 홀수 개수 본문

。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★/나의 코딩테스트

[프로그래머스/Java] 코딩테스트 Lv.0 짝수 홀수 개수

yeonee 여니 2023. 7. 18. 00:33
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

yeonee 블로그 : 네이버 블로그

예쁘고 맛있게 먹고 건강하게,강인하지만 온화하게 행하라. ※맛스타운스타일상 인스타 www.instagram.com/s2._.y25n ※맛집감성일상 유튜브https://youtube.com/channel/@S2_yeonee 티스토리https://yeoneeluv.tistory.co

blog.naver.com

 

 

<나의 문제풀이>

class Solution {
    public int[] solution(int[] num_list) {
        
        int[] answer = new int[2];
        
        for(int i =0; i<num_list.length; i++){
            if(num_list[i] % 2 == 0){
                answer[0] ++;
            }else{
                answer[1] ++;
            }
        }
        return answer;
    }
}

지난번 배열 문제와 비슷하게 식을 지었는데, 배열의 크기를 지정해주는 부분을 놓쳤었다.

맨 처음에 answer 배열을 초기화 및 배열의 크기를 지정해줍니다. 
짝수를 담을 거니 %2 를 사용할 것이고 조건문으로 식을 만들 것입니다.
num_list의 배열 길이만큼 for 반복문을 돌릴 것입니다.
num_list배열의 값이 2로 나누어 떨어지면 짝수이기 때문에, answer배열의 0번 인덱스에 담아줍니다.
num_list배열의 값이 2로 나누어 떨어지지 않으면 홀수이기 때문에, answer배열의 1번 인덱스에 담아줍니다.
마지막은 answer 값을 리턴해줍니다.

 

✨ 다른 풀이

풀이1)

저와 비슷한 방식으로 생각했는데 식이 정말 간결하더라구요.
다른 분들도 저도 감탄하는 순간이네요.ㅎㅎ

 

풀이2)

저처럼 awswer 인덱스 값에 바로 대입하는 식말고 int형 짝수, 홀수 변수를 선언해서 만든 코드도 있더라구요.
바로 배열의 인덱스에 집어 넣는 구상이 어려운 분들에게 안정적인 방식이긴 한 것 같습니다~

 

풀이3)

향상된 반복문을 이렇게 쓰라고 있는거지! 하는 생각이 단박에 들었어요 :)

 

풀이4)

import java.util.stream.IntStream;
import java.util.Arrays;

class Solution {
    public int[] solution(int[] numList) {
        return IntStream.of((int) Arrays.stream(numList).filter(i -> i % 2 == 0).count(), 
        		(int) Arrays.stream(numList).filter(i -> i % 2 == 1).count())
                .toArray();
    }
}

스트림으로 풀이하신 분의 식이 캡쳐하기엔 길어서 복붙으로 가져와봤습니다.
보기 쉽게 한줄인 코드를 끊어 적어 보았어요.
스트림이 아직 익숙하지 않아서 볼 때마다 새로운 기분이지만 계속 반복해서 분석해봅니다.

728x90
반응형
LIST