본문 바로가기

Study for Backend/Programming language - Java

[Java 기초연습] 프로그래머스 - 짝수는 싫어요

프로그래머스 - 짝수는 싫어요

https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=java

//버전 01 
class Solution {
    public int[] solution(int n) {
        int[] answer = {};
        if(n % 2 == 0){
            answer = new int[n/2];
        }else{
            answer = new int[(n/2)+1];
        }
        
        int cnt = 0;
        
        for(int i=0; i <= n; i++){
            if(i % 2 == 1){
                answer[cnt] = i;
                cnt++;
            }            
        }

        return answer;
    }
}

 

//버전 02
import java.util.*;

class Solution {
    public ArrayList solution(int n) {
        ArrayList<Integer> answer = new ArrayList<Integer>();

        for(int i=1; i<=n; i++){
          if(i%2 != 0) {
              answer.add(i);
          } 
        }

        return answer;
    }
}

 

//버전 03
import java.util.stream.IntStream;

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

 

Stream 이용이 아직 익숙치 않아서 이 코드로 제출