순서 바꾸기

2024. 7. 17. 18:00코딩 기초 트레이닝

https://school.programmers.co.kr/learn/courses/30/lessons/181891

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제 설명
정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 2 ≤ num_list의 길이 ≤ 30
  • 1 ≤ num_list의 원소 ≤ 9
  • 1 ≤ n ≤ num_list의 길이

입출력 예

num_list n result
[2, 1, 6] 1 [1, 6, 2]
[5, 2, 1, 7, 5] 3 [7, 5, 5, 2, 1]

입출력 예 설명
입출력 예 #1

  • [2, 1, 6]에서 첫 번째 이후의 원소는 [1, 6]이고 첫 번째까지의 원소는 [2]입니다. 두 리스트를 이어 붙이면 [1, 6, 2]가 됩니다.

입출력 예 #2

  • [5, 2, 1, 7, 5]에서 세 번째 이후의 원소는 [7, 5]이고 세 번째까지의 원소는 [5, 2, 1]입니다. 두 리스트를 이어 붙이면 [7, 5, 5, 2, 1]가 됩니다.

리스트를 2개로 잘라서 앞뒤를 바꾸는 문제입니다.

슬라이싱을 통해 간단하게 풀어보도록 하겠습니다.

def solution(num_list, n):
    # n번째 원소 이후의 리스트 + n번째 원소 이전의 리스트
    answer = num_list[n:] + num_list[:n]
    return answer

리스트1: n번째 원소부터 끝까지

리스트2: n번째 원소 전까지(0부터 n-1번째까지)

 

두 개의 리스트로 나눈 뒤 합치면 됩니다.

'코딩 기초 트레이닝' 카테고리의 다른 글

배열 조각하기  (0) 2024.07.19
n 번째 원소부터  (1) 2024.07.18
왼쪽 오른쪽  (1) 2024.07.16
n 번째 원소까지  (0) 2024.07.15
n개 간격의 원소들  (0) 2024.07.14