일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BYOL
- CycleGAN
- CGAN
- Pseudo Label
- shrinkmatch paper
- 딥러닝손실함수
- semi supervised learnin 가정
- remixmatch paper
- CoMatch
- 최린컴퓨터구조
- mocov3
- shrinkmatch
- dann paper
- 백준 알고리즘
- SSL
- dcgan
- Pix2Pix
- 컴퓨터구조
- conjugate pseudo label paper
- UnderstandingDeepLearning
- GAN
- simclrv2
- WGAN
- mme paper
- Entropy Minimization
- cifar100-c
- Meta Pseudo Labels
- adamatch paper
- tent paper
- ConMatch
Archives
- Today
- Total
Hello Computer Vision
백준 알고리즘 10811번 [바구니 뒤집기] 파이썬 본문
https://www.acmicpc.net/problem/10811
이전 배열 문제랑 비슷한 형식
N : 번호가 적혀있는 바구니의 개수
M : 뒤집는 횟수
M에 따라 반복문을 돌려주고, 횟수마다 i, j 를 지정한다. i번째부터 j번째까지의 숫자를 역순으로 한다.
반복문 안에 반복문을 또 만드는데 여기서 횟수는 j - i + 1이다.
기존 i번째 숫자는 다른 곳에 저장해놨다가, j번째 바구니에 할당하고, i번째와 j번째 바구니의 순서를 바꾼다. 나는 주로 리스트를 만들 때 0을 포함해서 만들고 나중에 출력할 때 0을 제외하는 방식을 사용한다. 인덱스를 따로 1빼고 하는 것이 번거롭다.
n, m = map(int, input().split())
pocket = [i for i in range(0, n+1)]
for _ in range(m):
i, j = map(int, input().split())
r = j - i + 1
for k in range(r // 2):
temp = pocket[i]
pocket[i] = pocket[j]
pocket[j] = temp
i += 1
j -= 1
for i in pocket[1:]:
print(i, end = ' ')
'백준알고리즘 > 구현' 카테고리의 다른 글
백준 알고리즘 10798번 [세로읽기] 파이썬 (0) | 2023.04.15 |
---|---|
백준 알고리즘 2566번 [최댓값] 파이썬 (0) | 2023.04.15 |
백준 알고리즘 10988번 [펠린드롬인지 확인하기] 파이썬 (0) | 2023.04.14 |