728x90
반응형
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 바구니 개수와 바구니를 뒤집을 횟수를 입력받는다. N, M = map(int, sys.stdin.readline().split())
- 각 바구니를 리스트로 생성한다. basket = list(i for i in range(N + 1))
- 바구니를 뒤집을 횟수만큼 반복하며 for _ in range(M)
- 뒤집을 바구니의 구간을 입력받는다. i, j = map(int, sys.stdin.readline().split())
- 바구니를 뒤집을 범위에서 가운데를 기준으로 양 옆을 차례로 바꿔주면 된다.
- i는 무조건 j보다 작거나 같으므로 i가 j보다 커질 때까지 반복하며 while (i < j)
- 양 끝에 있는 두 바구니를 바꿔준다. basket[i], basket[j] = basket[j], basket[i]
- 앞쪽 바구니 번호는 증가시키고 i += 1
- 뒤쪽 바구니 번호는 감소시킨다. j -= 1
- 모두 뒤집어준 결과를 하나씩 출력한다. for i in range(1, N + 1): print(basket[i], end=' ')
반응형
3. 소스코드
import sys
N, M = map(int, sys.stdin.readline().split())
basket = list(i for i in range(N + 1))
for _ in range(M):
i, j = map(int, sys.stdin.readline().split())
while (i < j):
basket[i], basket[j] = basket[j], basket[i]
i += 1
j -= 1
for i in range(1, N + 1):
print(basket[i], end=' ')
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 10798번 : 세로읽기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.08 |
---|---|
[백준] 2566번 : 최댓값 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.06 |
[백준] 25206번 : 너의 평점은 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.04 |
[백준] 10988번 : 팰린드롬인지 확인하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.02 |
[백준] 10813번 : 공 바꾸기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.28 |
[백준] 10810번 : 공 넣기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.26 |
[백준] 11719번 : 그대로 출력하기 2 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.24 |
[백준] 4948번 : 베르트랑 공준 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.22 |