728x90
반응형
https://www.acmicpc.net/problem/10811
10811번: 바구니 뒤집기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2
www.acmicpc.net
문제 해결 아이디어
1. 주어진 범위를 리스트 표현에 맞게 지정해야함.
2. 범위 내 값을 뒤집을 방법! (reverse 메서드 사용)
3. 뒤집은 값을 다시 리스트에 갱신
위 세가지 사항을 고려하여 소스코드를 작성함.
1. 뒤집을 범위의 배열을 tmp_arr로 명명하고,
2. 이를 reverse 메서드를 사용하여 역순으로 뒤집은 후
3. 추출한 범위에 다시 입력
소스코드 (Python)
def chg_ball(n, m):
arr = list(range(1,n+1)) # 1부터 n까지 생성
for _ in range(1,m+1):
i,j = [int(k)-1 for k in input().split()]
if i == j: pass
else:
tmp_arr = arr[i:j+1]
tmp_arr.reverse()
arr[i:j+1] = tmp_arr
return arr
if __name__ == '__main__':
n,m = [int(k) for k in input().split()] # map 함수를 사용하여 변수를 받을 수 도 있음.
print(*chg_ball(n,m))
결과
굿굿
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 멀리 뛰기 (lv1, Python) (0) | 2023.07.27 |
---|---|
[백준] 5597번: 과제 안 내신 분..? (브론즈5, Python) (0) | 2023.07.27 |
[백준] 10813번: 공 바꾸기 (브론즈2, Python) (0) | 2023.07.27 |
[백준] 2903번: 중앙 이동 알고리즘 (브론즈3, Python) (0) | 2023.07.27 |
[백준] 1065번 : 한수 (0) | 2022.01.03 |