-
[BOJ 15922, Python 3] 아우으 우아으이야!!알고리즘/BOJ 2021. 8. 10. 12:00반응형
https://www.acmicpc.net/problem/15922
풀이
입력값이 정렬이 되어 있어서 직접 정렬할 필요가 없습니다.
첫 번째 값을 s, e로 잡고, 다음 값을 ns, ne로 설정해서
s <= ns <= e <= ne라면 e = ne로 바꿔주고 ne - e만큼 답에 더해줍니다.
e < ns라면 더 이상 선분 s - e와 겹치는 선분이 없기 때문에 s, e = ns, ne로 바꿔주고 ne - ns만큼 답에 더해줍니다.
s <= ns, ne <= e라면 선분 s - e 안에 선분이 있으므로 넘어가면 됩니다.
코드
12345678910111213n = int(input())arr = [[*map(int, input().split())] for _ in range(n)]s, e = arr[0]ans = abs(e - s)for i in range(1, n):ns, ne = arr[i]if ns <= e and ne > e:ans += abs(ne - e)e = neelif ns > e:ans += abs(ne - ns)s, e = ns, neprint(ans)cs 반응형'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 1715, Python 3] 카드 정렬하기 (0) 2021.08.11 [BOJ 1339, Python 3] 단어 수학 (0) 2021.08.11 [BOJ 16678, Python 3] 모독 (0) 2021.08.10 [BOJ 12904, Python 3] A와 B (0) 2021.08.10 [BOJ 22869, C++] 징검다리 건너기 (small) (0) 2021.08.09