본문 바로가기
개발/개발 공부

[프로그래머스] 코딩테스트 입문 : 짝수는 싫어요.

by 하모예 2024. 8. 28.

| 문제

정수 n이 매개변수로 주어질 때,

n이하의 홀수가 오름차순으로 담긴 배열을 return하도록

solution 함수를 완성해주세요.

| 제한 사항

1   n   100

| 입출력 예

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

| 풀이 1

public int[] solution01(int n) {
    int[] answer = {};
    int len = n % 2 == 0 ? n/2 : n/2+1;
    answer = new int[len];
    int s = 1;
    for(int i = 0 ; i < answer.length ; i++){
        answer[i] = s;
        s += 2;
    }
    return answer;
}

| 풀이 2

public List<Integer> solution02(int n) {
    List<Integer> answer = new ArrayList<Integer>();
    int i = 1;
    while(i <= n){
        answer.add(i);
        i += 2;
    }
    return answer;
}

| 해설

흥미롭게도 배열을 return 하는 문제는 항상 List로 대체할 수 있습니다.

기왕 List를 사용하는 거 while문도 한번 사용해 보았습니다.

문제에 오름차순이라고 나와있지만, 사실 배열 또는 List안의 원소들을 순차적으로 넣어주면 되는 문제이기 때문에

굳이 오름차순 로직을 추가할 필요 없는 문제였습니다.

문제에 매몰되지 말고, 짧은 시간 안에 주어진 상황을 해결하는 연습에 집중합시다.

댓글