짝수는 싫어요

반즈·2023년 12월 1일

프로그래머스 입문

목록 보기
25/51

문제 설명

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

입출력 예


자바

나의 풀이

import java.util.*;

class Solution {
    public int[] solution(int n) {
        int[] answer = new int[(int)Math.ceil((double)n / 2)];
        for(int i = 0, j = n; i < (int)Math.ceil((double)n / 2); i++, j-=2){
            if((n % 2) != 0){
                answer[i] = j;
            } else {
                answer[i] = j - 1;
            }
        }
        Arrays.sort(answer);
        return answer;
    }
}

참고 풀이 1 (List, .add(), .stream(), .mapToint(), .toArray())

import java.util.List;
import java.util.ArrayList;

class Solution {
    public int[] solution(int n) {
        List<Integer> answer = new ArrayList<Integer>();
        for(int i=1; i<=n; i++){
            if(i % 2 == 1){
                answer.add(i);
            }
        }
        return answer.stream().mapToInt(x -> x).toArray();
    }
}

참고 풀이 2 (list.size(), list.get())

import java.util.*;

class Solution {

    public int[] solution(int n) {
        List<Integer> list = new ArrayList<>();

        for(int i=1; i<=n; i++){
            if(i%2!=0) list.add(i);
        }
        int[] answer = new int[list.size()];
        for(int i =0; i<list.size(); i++){
            answer[i] = list.get(i);
        }

        return answer;
    }
}

자바스크립트

나의 풀이 (.push())

function solution(n) {
    var answer = [];
    for (let i = 1; i <= n; i+=2){
        answer.push(i);
    }
    return answer;
}
profile
나를 채우다

0개의 댓글