프로그래머스 · 짝수는 싫어요
문제
정수 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