리스트와 아무 숫자(n) 주고, 주어진 n개수만큼 리스트 n개 출력
Q. 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해 주세요.
A. 만약 5라고 하면 1,2,3,4,5를 모두 담은 리스트를 출력해야한다. 그러기 위해서 리스트[:숫자] 하면 그 숫자까지 출력해주고 리스트[숫자:] 하면 그 숫자 이후부터 출력한다.
def solution(num_list, n):
return num_list[:n]
example 01.
result = solution([1, 2, 3, 4, 5])
오름차순
1,2,3,4,5를 출력하는 다양한 방식에 대해 배워보자. 먼저 1과 5를 주고 1부터 5까지 출력해 줘라고 할 수도 있고, 5를 주고 리스트에 5만큼 출력해 줘라고 할 수도 있다.
01. 시작(1)과 끝(5) 숫자만큼 리스트에 정렬 list(range(시작숫자, 끝숫자+1))
정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return 하도록 solution 함수를 완성해 주세요
def solution(start_num, end_num):
return list(range(start_num, end_num + 1))
# 예시 테스트
print(solution(1, 5)) # 예상 결과: [1, 2, 3, 4, 5]
print(solution(10, 15)) # 예상 결과: [10, 11, 12, 13, 14, 15]
- range(start_num, end_num + 1)은 start_num부터 end_num까지의 연속된 정수를 나타내는 range 객체를 생성합니다. 여기서 start_num은 시작하는 정수이고, end_num + 1은 마지막 정수보다 1 큰 값을 의미합니다. 이렇게 하면 end_num까지의 정수를 포함하도록 범위를 설정할 수 있습니다.
- 그리고 list() 함수를 사용하여 이 range 객체를 리스트로 변환합니다. 이 때, 리스트로 변환하면 range 객체에 포함된 모든 정수가 리스트의 요소로 포함됩니다.
- 따라서 return list(range(start_num, end_num + 1))은 start_num부터 end_num까지의 숫자를 담은 리스트를 반환하는 코드입니다.
02. 리스트에 끝(5) 숫자만큼 리스트에 정렬하는 오름차순 리스트[:n]
리스트와 아무 숫자(n) 주고, 주어진 n개수만큼 리스트 n개 출력
Q. 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해 주세요.
A. 만약 5라고 하면 1,2,3,4,5를 모두 담은 리스트를 출력해야 한다. 그러기 위해서 리스트[:숫자] 하면 그 숫자까지 출력해 주고 리스트[숫자:] 하면 그 숫자 이후부터 출력한다.
def solution(num_list, n):
return num_list[:n]
example 02.
정렬되어 있지 않는 숫자들[3, 1, 4, 2, 5]을 [1, 2, 3, 4, 5] 혹은 [5, 2, 4, 1, 3] 로 출력해 보자.
02.01 일반 오름차순 [:숫자]
예를 들어, num_list가 [3, 1, 4, 2, 5]인 경우, 리스트[:n]를 하면 num_list [:5]는 있는 모양 그대로의 [3, 1, 4, 2, 5]를 반환합니다.
def solution(num_list):
return num_list [:5]
02.02 일반 내림차순 [숫자:]
만약 내림차순으로 출력하고 싶다면 어떻게 할까? num_list [5:]는 [5, 2, 4, 1, 3]를 반환합니다.
def solution(num_list):
return num_list [5:]
그런데 sorted를 붙이면 작은 수부터 정렬이 된다.
03. 정렬 후 오름차순 sorted(num_list)[:5]
Q. 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return 하도록 solution 함수를 완성해 주세요.
A. 이 함수는 주어진 리스트를 sorted 함수를 사용하여 오름차순으로 정렬한 후에, 슬라이싱을 통해 처음 5개의 요소를 선택여 반환한다.
sorted(num_list)[:5]는 주어진 리스트 num_list에서 "가장 작은 5개의 수를 오름차순으로 담은 리스트를 반환"하는 것.
def solution(num_list):
return sorted(num_list)[:5]
이렇게 되면 [3, 1, 4, 2, 5] 이 [1, 2, 3, 4, 5]로 출력이 될 뿐 아니라 [3, 1, 5, 2, 8] 이런 식으로 구성된 리스트도 [1, 2, 3, 5, 8] 이렇게 정렬해 줄 것이다.
example 03.
result = solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
04. 정렬후 내림차순 sorted(num_list [10:], reverse=True)
만약 10을 모두 출력하고 싶다면? 리스트를 그대로 반환하는 대신에 역순으로 정렬하여 반환하면 된다. 가장 작은 10개의 수를 오름차순으로 담은 리스트를 반환
def solution(num_list):
return sorted(num_list[:10], reverse=True)
# 예시 테스트
result = solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(', '.join(map(str, result))) # 출력: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
sorted() 함수를 사용하지 않으면 원본 리스트의 순서를 고려하지 않고 처음 n개의 원소를 선택할 뿐이다.
05. 정렬후 거꾸로 출력 reverse=True
5 이하로 큰 숫자부터 출력하려면 num_list[:5]
num_list [:5]는 주어진 리스트 num_list에서 "가장 작은 5개의 수를 오름차순으로 담은 리스트를 반환"하는 것.
그대로 써주고 reverse 거꾸로 해주면 된다.
def solution(num_list):
return sorted(num_list[:5], reverse=True)
# 예시 테스트
result = solution([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(', '.join(map(str, result))) # 출력: 5, 4, 3, 2, 1
sorted(num_list [5:], reverse=True)
만약 10 이하로 큰 숫자부터 출력하려면 num_list [5:] num_list [5:]는 리스트에서 인덱스 5 이후의 요소를 반환하는 것.
따라서 num_list [5:]는 리스트에서 인덱스 5 이후의 요소를 반환하는 것 출력은 6,7,8,9,10.
def solution(num_list):
return num_list [5:]
넣어주고 sorted 해서 작은 순에서 큰 순으로 정렬시키고, 리버스 시켜서 거꾸로 출력하면 된다.
def solution(num_list):
return sorted(num_list[5:], reverse=True)
[파이썬 01] [:n] 오름차순 내림차순 정렬 sorted 반대로 reverse
[파이썬] 오름차순 내림차순 정렬 sorted 작은수 반환 reverse
뒤에서 5등까지 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요. def solution(num_list): return sort
neulo.tistory.com
'개발일기 [Python 파이썬]' 카테고리의 다른 글
[파이썬] 홀수 짝수 배수 조건 따라 새로운 리스트 출력하기 (0) | 2024.03.15 |
---|---|
[파이썬] for x in range 홀수 짝수에 따라 다른 값 & 순회하며 계산하는 반복자(iterator) (0) | 2024.03.14 |
[파이썬] 붙여서 출력하기 (0) | 2024.03.14 |
[파이썬] .upper() 소문자 -> 대문자 -> 소문자 .lower() 변경 (0) | 2024.03.14 |
[파이썬 문제풀이] 지그재그 숫자 (0) | 2024.03.13 |