자기계발
프로그래머스
짝수는 싫어요

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

문제

정수 n이 주어진다. n 이하의 홀수를 오름차순으로 담은 배열을 반환하는 solution 함수를 완성한다. n은 1 이상 100 이하다.

풀이

홀수와 짝수는 2로 나눈 나머지로 구분한다. 나머지가 0이면 짝수, 1이면 홀수다. n도 포함해야 하므로 range(1, n+1)로 반복하고 나머지가 0이 아닌 수만 담는다.

range는 끝 수를 포함하지 않는다. 예를 들어 for i in range(2): print(i)는 0과 1만 출력한다.

def solution(n):
    return [i for i in range(1, n+1) if (i%2) != 0]

다른 풀이

리스트 컴프리헨션 없이 반복문으로 풀어 쓰면 다음과 같다.

def solution(n):
    answer = []
    for i in range(1, n+1): # 1부터 n까지
        if (i%2) != 0:  # 홀수일 경우에
            answer.append(i)
    return answer

출처