하루한줄 코딩일기

[인프런 - 파이썬 알고리즘 문제풀이] 3.3 카드 역배치 본문

Algorithm

[인프런 - 파이썬 알고리즘 문제풀이] 3.3 카드 역배치

jjuha 2022. 2. 7. 11:17

인프런 > 파이썬 알고리즘 문제풀이

섹션 3.3 카드 역배치

👊 내 문제 풀이

card[a : b+1] 를 한 결과에 다시 [ : : -1] 을 해서 해당 구간을 뒤집으려고 했으나 한 번에 이어서 작성해도 정상적으로 실행됐다.

card = []
for i in range(21): #카드 채우기
    card.append(i)

for i in range(10): #카드 구간 뒤집기
    a, b = map(int, input().split())
    card[a:b+1] = card[a:b+1][::-1]

for n in card[1:]:  #카드 출력하기
    print(n,end=' ')

채점 결과

 

💡 강의 해답

0부터 20까지의 수로 채워진 리스트를 생성하는 코드는 list(range(21))로 간단하게 작성할 수 있다.

강의 해설에서는 a, b = b, a 형식으로 내용을 swap 한다.

a=list(range(21))
for _ in range(10):
    s, e=map(int, input().split())
    for i in range((e-s+1)//2):
        a[s+i], a[e-i]=a[e-i], a[s+i]
a.pop(0)
for x in a:
    print(x, end=' ')
Comments