반응형
문제
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return 하도록 solution 함수를 완성해주세요.
문제 원리
홀수를 판별하는 문제인데, 판별법은 해당 숫자를 2로 나누었을 때 나머지가 1이면 홀수입니다.
- 배열 생성
홀수를 담을 빈 배열을 생성 - 반복문 생성
1부터 n(매개변수)까지 반복문을 실행 - 홀수 확인
반복분 내에서 정수가 홀수인지 확인합니다. 식은 n % 2 == 1과 조건문으로 확인 - 배열 추가 밑 결과 반환
조건문으로 통해 찾은 정수를 배열에 넣고 결과 반환
문제 풀이
Python
원리대로 풀기
def solution(n):
result = [] # 결과를 저장할 빈 리스트를 생성
for i in range(1, n+1): # 1부터 n까지 반복
if i % 2 == 1: # i가 홀수인 경우
result.append(i) # 결과 리스트에 추가
return result # 결과 리스트 반환
효율적인 방식
def solution(n):
return [i for i in range(1, n+1) if i % 2 == 1]
리스트 컴프리헨션 사용해 코드를 간결하게 만듭니다.
[expression for item in iterable]
출처
https://school.programmers.co.kr/learn/courses/30/lessons/120813
반응형