(Python/python) 백준 10811호: 바구니 뒤집기(2)

솔루션 1

N,M = map(int,input().split())

array = (i for i in range(1,N+1))
add = 0
for _ in range(M):
    i,j = map(int,input().split())
    array(i-1:j) = array(i-1:j)(::-1)
print(*array)

해결방법 2 (무식하게 해결하는 방법;;;)

N,M = map(int,input().split())

array = (i for i in range(1,N+1))
add = 0
for _ in range(M):
    i,j = map(int,input().split())
    for _ in range(i+j//2):
        array(i-1+add),array(j-1-add) = array(j-1-add),array(i-1+add)
        add += 1
        if add >= (len(array(i-1:j)))//2:
            add = 0
            break
print(*array)

처음에 갑자기 list(n:m)(::-1) 의 형태가 생각나지 않아서 list(m:n:-1) 의 형태로 풀려고 했으나 ‘ t 작동, 그래서 나는 아무것도 그것을 해결 몰랐어요;

다시 생각나서 풀었습니다.

그 기간 동안 포트폴리오 정리하느라 바빠 코테 문제를 열심히 풀지 못해서 기억이 증발해버렸습니다.

.

하지만 몇 입 먹으니 다시 그 느낌이…

쉬운 문제만 풀지 말고 어려운 문제도 빨리 풀자.

error: Alert: Content selection is disabled!!