728x90
반응형
문제
https://www.acmicpc.net/problem/10804
0부터 20까지 저장해놓은 리스트 생성(0은 사용하지 않음. 인덱스번호와 숫자를 일치시키기 위함).
10개의 숫자 세트를 리스트에 저장(2차원 형식).
nums = [i for i in range(21)]
pos = [list(map(int, input().split())) for _ in range(10)]
반복문 이용하여 숫자 세트 불러오기.
- 두 숫자의 차이 + 1 계산(숫자 개수)
- 반복문을 이용하여 해당 요소들 swap(교환).
for p in pos:
diff = p[1] - p[0] + 1
for i in range(diff // 2):
nums[p[0]+i], nums[p[1]-i] = nums[p[1]-i], nums[p[0]+i]
리스트의 요소를 1번째부터 출력.
for n in nums[1:]:
print(n, end=' ')
전체 코드
nums = [i for i in range(21)]
pos = [list(map(int, input().split())) for _ in range(10)]
for p in pos:
diff = p[1] - p[0] + 1
for i in range(diff // 2):
nums[p[0]+i], nums[p[1]-i] = nums[p[1]-i], nums[p[0]+i]
for n in nums[1:]:
print(n, end=' ')
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 2441번 - 별 찍기 - 4 (0) | 2024.02.07 |
---|---|
[Python] 백준 2440번 - 별 찍기 - 3 (0) | 2024.02.07 |
[Python] 백준 1267번 - 핸드폰 요금 (0) | 2024.02.07 |
[Python] 백준 2309번 - 일곱 난쟁이 (1) | 2024.02.07 |
[Python] 백준 2587번 - 대표값2 (0) | 2024.02.07 |