문제
- 1부터 20까지의 카드를 정해진 구간이 주어지면 그에 맞게 역순으로 정렬한 뒤 10번의 정렬이 끝난 card 배치를 출력하라
문제 풀이
import sys
sys.stdin = open("input.txt", "r")
card = list(range(21)) # 1 ~ 20까지 초기화
for _ in range(10):
a, b = map(int,input().split())
x =(b-a+1)//2
for i in range(x):
card[a+i], card[b-i] = card[b-i], card[a+i]
for j in card[1::]:
print(j, end =" ")
- index를 이용해서 값을 하나씩 저장하고 접근하기 위해서 0부터 저장을 했다. 이는 출력 시에 pop을 사용해 빼버리는 방법도 있으나 슬라이싱 기능을 통해 0을 제외한 나머지 card 리스트를 하나의 숫자로 출력해주었다.
'자료구조와 알고리즘 > 개인적인 코딩테스트 관련 풀이' 카테고리의 다른 글
[탐색][시뮬레이션] - 격자판 최대합(2차원 List) (0) | 2022.07.06 |
---|---|
[탐색][시뮬레이션] - 수들의 합(List) (0) | 2022.07.06 |
[탐색][시뮬레이션] - 숫자만 추출(String) (0) | 2022.07.01 |
[탐색][시뮬레이션] - 회문 문자열 검사(String) (0) | 2022.07.01 |
점수 계산 (0) | 2022.06.30 |