Programmers | 코딩테스트 입문 - 짝수는 싫어요

2022. 12. 27. 16:59공부/Programmers

프로그래머스 Lv.0 짝수는 싫어요

 

문제 설명

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


제한사항
  • 1 ≤ n ≤ 100

 

JAVA

class Solution {
    public int[] solution(int n) {
        int[] answer = new int[(n+1)/2];
        int idx = 0;
        
        for(int i=1; i<(n+1); i++){
            if(i%2 != 0){
                answer[idx] = i;
                idx++;
            }
            
        }
        return answer;
    }
}

 

다른 사람 풀이

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;
    }
}

리턴값을 int배열가 아닌 ArrayList이다.

int[ ] 반환 ArrayList 반환
테스트 1 〉 통과 (0.01ms, 72.5MB)
테스트 2 〉 통과 (0.01ms, 82MB)
테스트 3 〉 통과 (0.01ms, 75.7MB)
테스트 4 〉 통과 (0.02ms, 79.1MB)
테스트 5 〉 통과 (0.02ms, 75.6MB)
테스트 6 〉 통과 (0.01ms, 76.2MB)
테스트 7 〉 통과 (0.01ms, 83.9MB)
테스트 8 〉 통과 (0.02ms, 74.9MB)
테스트 1 〉 통과 (0.02ms, 73.9MB)
테스트 2 〉 통과 (0.04ms, 75.6MB)
테스트 3 〉 통과 (0.03ms, 77MB)
테스트 4 〉 통과 (0.04ms, 67MB)
테스트 5 〉 통과 (0.02ms, 74.4MB)
테스트 6 〉 통과 (0.04ms, 71.5MB)
테스트 7 〉 통과 (0.02ms, 75.2MB)
테스트 8 〉 통과 (0.04ms, 71.7MB)

 

Python3

def solution(n):
    answer = []
    for i in range(n+1):
        if(i%2 == 1):
            answer.append(i)
        
    return answer

 

다른 사람 풀이

def solution(n):
    return [i for i in range(1, n+1, 2)]

range(시작,끝,증감수) 기억하자!