- [Python] list문제 - n개 간격의 원소들2024년 01월 18일
- 주사위 clice
- 작성자
- 2024.01.18.:16
반응형프로그래머스 코딩테스트 연습
문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 마지막 원소까지 n개 간격으로 저장되어있는 원소들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
제한사항
- 5 ≤ num_list의 길이 ≤ 20
- 1 ≤ num_list의 원소 ≤ 9
- 1 ≤ n ≤ 4
입출력 예
num_list n result [4, 2, 6, 1, 7, 6] 2 [4, 6, 7] [4, 2, 6, 1, 7, 6] 4 [4, 7] 알고리즘
이 문제를 파이썬으로 풀어야 한다
우선 기본적으로 제시되는 코드는 아래와 같았다
def solution(num_list, n): answer=[] return answer
그렇다면 차근 차근 알고리즘을 세워보자
1. n의 값에 상관 없이 answer의 첫번째 원소는 항상 num_list의 첫번째 원소와 같다
그러므로 answer 의 첫번째 원소에 대입을 해주는 배열의 원소 추가 과정이 첫번째로 진행될것이다
answer.append(num_list[0])
2.그 다음은 for 문으로 이를 감싸 주자
def solution(num_list, n): answer=[] for i in num_list: answer.append(num_list[i])
그 다음이 문제다
for i in num_list을 이용하면 이는 리스트를 순회하기 때문에 인덱스를 0, 1, 2, ... len(num_list)-1 까지 순회할것이다
그런데 우리는 0다음에 n만큼 건너뛰고 싶다
이때 for문에다 range함수를 활용할 수 있다
for i in range(0, len(Array), 4):
라고 적게 되면 Array를 0에서 4만큼 깡충 뛰면서 순회한다
그렇게 만들어진 최종 코드를 보자
최종 결과
def solution(num_list, n): answer=[] for i in range(0, len(num_list), n): answer.append(num_list[i]) return answer
파이썬으로 함수, for문을 작성하는 것이 익숙하지 않았기 때문에 웹서핑의 도움을 받으면서 완성했다
range함수를 이용한 for문을 처음 알게 되었는데 인상적이었다
반응형'프로그래밍 언어 > python' 카테고리의 다른 글
[Python] list문제 - 자연수 뒤집어 배열로 만들기 (0) 2024.01.19 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)