코딩테스트/프로그래머스

[프로그래머스] 짝수는 싫어요 [Java]

블로그 주인장 2023. 8. 14.

🎁 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120813

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

🎁 문제 설명

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

🎁 입출력 예시

n result
10 [1, 3, 5, 7, 9]
15 [1, 3, 5, 7, 9, 11, 13, 15]

🎁 코드 설명

1) n이라는 매개변수의 값을 넣으면 해당 값에서 홀수만 배열에 넣어서 도출하는 문제이다.

2) n에서 홀수가 몇 개인지 1차적으로 계산한다.(count)

3) 해당 값을 가지고 배열을 만들고, 0으로 변환시킨다(배열에 0번부터 넣기 위해)

4) 다시 n의 배열 인덱스만큼 홀수를 추출해서 [count]의 배열에 삽입한다.

🎁 코드

class Solution {
    public int[] solution(int n) {
        int count = 0;
        for (int i = 0; i <= n; i++) {
            if(i % 2 != 0){
                count++;
            }
        }

        int[] answer = new int[count];
        
        count = 0;
        
        for (int i = 0; i <= n; i++) {
            if(i % 2 != 0){
                answer[count] = i;
                count++;
            }
        }
        
        return answer;
    }
}

🎁 다른 코드(IntStream 사용)

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int n) {
        return IntStream.rangeClosed(0, n).filter(value -> value % 2 == 1).toArray();
    }
}
반응형

댓글