이미지


코드 입력

![이미지](/images/self_dev/programmers/프로그래머스-Python-짝수는-싫어요-html_20240616/img_1.png)
 
파이썬에서 홀수, 짝수를 구분하는 방법은 보통 나의 경우에는 _**2로 나누었을 때의 나머지로 구분**_ 한다.
 
나머지가 0이면 짝수, 나머지가 1이면 홀수인 것이다.
 
그래서 주어진 숫자 이하(주어진 숫자 포함)까지의 홀수가 오름차순으로 담겨야 하니,
 
loop 문과 range를 주어진 숫자의 +1까지 설정하여 나머지가 1인 숫자들만 담는다.
 
range가 주어진 n+1인 이유는, for i in range()를 해보면 무조건 0부터 시작하여 range 끝 수는 반환하지 않는다.
 
예를 들어 for i in range(2): print(i) 를 했을 때 0과 1만 프린트 되는 것을 볼 수 있다.
 
주어진 숫자까지 포함해야 하는 문제이기 때문에, n+1로 담고 홀수인 수만 배열에 담아 return 한다.
 
List Comprehension이 아닌 풀어서 사용하면 다음과 같다.
 
    def solution(n):
        answer = []
        for i in range(1, n+1): # 1부터 n까지
            if (i%2) != 0:  # 홀수일 경우에
                answer.append(i)

🔗 프로그래머스 (opens in a new tab)