공부 자료/알고리즘
(Python/파이썬) 백준 10804번 - 카드 역배치
뚜루뚜루세니
2022. 4. 27. 19:50
728x90
문제출처 : https://www.acmicpc.net/problem/10804
10804번: 카드 역배치
1부터 20까지 오름차순으로 놓인 카드들에 대해, 입력으로 주어진 10개의 구간 순서대로 뒤집는 작업을 했을 때 마지막 카드들의 배치를 한 줄에 출력한다.
www.acmicpc.net
1. 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#순서 바꾸기 -> 슬라이스 기능
#배열 순서 뒤집을 땐 [::-1] 이용
card = [i for i in range(1,21)]
for _ in range(10):
a,b = map(int,input().split())
#인덱스 0부터 시작하려고
a-=1
#리스트에서 index a부터 b까지 잘라서 리스트로 반환
#[::-1] -> 역으로 뒤집
card[a:b] = card[a:b][::-1]
for i in card:
print(i, end = ' ')
|
cs |
2. 해결과정
파이썬에는 슬라이스 기능이 존재한다.
리스트의 순서를 뒤집을 땐 [::-1]을 사용해주면 된다.
- 우선 카드에 1부터 20까지 선언을 해준다.
- a에 1을 빼주는 이유는 index를 편하게 계산하기 위해서(index는 0부터 시작이니까)]
- 카드를 뒤바꿀 위치만 [::-1]을 선언해서 바꿔주고, 나머지는 위치를 바꾸지 않는다.
- 출력해주면 됨
728x90