티스토리 뷰
728x90
https://www.acmicpc.net/problem/15970
15970번: 화살표 그리기
직선 위에 위치를 나타내는 0, 1, 2, ...와 같은 음수가 아닌 정수들이 일정한 간격으로 오른쪽 방향으로 놓여 있다. 이러한 위치들 중 N개의 위치에 하나씩 점들이 주어진다(<그림 1>). 주어진 점들
www.acmicpc.net
처음엔 가는 방향과 오는 방향을 따로 반복문을 돌려 문제를 풀어봤지만,
문제의 핵심은 방향 구분 없이 동일한 색의 점 중에서 가장 최소거리인 점을 찾기만 하면 되는 문제입니다.
정렬을 시행한 후 반목문과 최솟값을 비교하는 min 함수를 이용하여 각 점의 최소거리를 구하면 되는 문제입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
N = int(input())
lst = []
for i in range(N):
a, b = map(int, input().split())
lst.append((a, b))
val = 0
lst.sort(key=lambda x: x[0])
for i in range(N):
sub_lst = []
for j in range(N):
if i != j and lst[i][1] == lst[j][1]:
sub_lst.append(abs(lst[i][0]-lst[j][0]))
val += min(sub_lst)
print(val)
|
cs |
'코딩 > 파이썬 백준' 카테고리의 다른 글
파이썬 9536 여우는 어떻게 울지? (파이썬) (0) | 2021.12.01 |
---|---|
백준 9322 철벽 보안 알고리즘 (파이썬) (0) | 2021.12.01 |
백준 1431 시리얼 번호 (파이썬) (0) | 2021.12.01 |
백준 11508 2+1 세일 (파이썬) (0) | 2021.11.30 |
백준 11931 수 정렬하기 4 (파이썬) (0) | 2021.11.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 백준 13335 파이썬
- 백준 23253 파이썬
- 백준 6593 파이썬
- 백준 13335
- 백준 12034
- 백준 2075
- 백준 10825
- 백준 12788
- 백준 12788 파이썬
- 백준 9205
- 백준 4446
- 백준 2075 파이썬
- 백준 1916 파이썬
- 백준 9205 파이썬
- 백준 2491 파이썬
- 백준 11123 파이썬
- 백준 20362
- 백준 1351 파이썬
- 백준 10825 파이썬
- 백준 1351
- 백준 4446 파이썬
- 백준 2304
- 백준 6593
- 백준 23253
- 백준 1916
- 백준 11123
- 백준 2304 파이썬
- 백준 20362 파이썬
- 백준 1504 파이썬
- 백준 12034 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함