반응형
https://www.acmicpc.net/problem/10813
10813번: 공 바꾸기
도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이
www.acmicpc.net
내 코드
import sys
read = sys.stdin.readline
n, m = map(int, read().split())
bucket = [i for i in range(1, n+1)]
for i in range(m): #교환 횟수
start, end = map(int, read().split())
tmp = 0
tmp = bucket[start-1]
bucket[start-1] = bucket[end-1]
bucket[end-1] = tmp
for i in range(len(bucket)):
print(bucket[i], end=' ')
버블정렬 안 써도 되는 방법 (파이썬의 편리함)
import sys
read = sys.stdin.readline
n, m = map(int, read().split())
bucket = [i for i in range(1, n+1)]
for i in range(m): #교환 횟수
start, end = map(int, read().split())
tmp = 0
bucket[start-1], bucket[end-1] = bucket[end-1], bucket[start-1]
for i in range(len(bucket)):
print(bucket[i], end=' ')
리뷰
처음에는 버블정렬로 풀었는데, 생각해보니 파이썬은 두 수가 순차적으로 저장되더라.
그래서 이걸 이용해서 다시 풀어보았다.
이렇게 풀면 tmp 변수가 따로 필요없다!
어쩌면 더 직관적이고 편리할수도?
반응형
'코딩테스트 대비 > 백준(BOJ)' 카테고리의 다른 글
| [Python][백준/BOJ] 2563번 : 색종이 (0) | 2023.06.19 |
|---|---|
| [Python][백준/BOJ] 2566번 : 최댓값 (0) | 2023.06.19 |
| [Python][백준/BOJ] 5597번 : 과제 안 내신 분..? (0) | 2023.06.19 |
| [Python][백준/BOJ] 10810번 : 공 넣기 (0) | 2023.06.19 |
| [Python][백준/BOJ] 25305번 : 커트라인 (0) | 2023.06.16 |