Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- python
- 파이썬
- 다익스트라
- dict
- 프로그래머스
- programmers
- 가상메모리
- DP
- level3
- 수학
- 가상메모리 관리
- N과M
- 백준
- 운영체제
- level0
- 코딩테스트
- 힙
- level1
- 딕셔너리
- level2
- BOJ
- 다이나믹 프로그래밍
- 그리디
- 구현
- 스택
- BFS
- 브루트포스
- MYSQL
- 재귀
- dfs
Archives
- Today
- Total
동캄의 코딩도장
백준 2467 [용액] 파이썬 본문
https://www.acmicpc.net/problem/2467
2467번: 용액
첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 -
www.acmicpc.net
n = int(input())
lst = list(map(int, input().split()))
val = 10000000000
answer = [0, 0]
i = 0
j = len(lst)-1
while i < j:
if lst[j]+lst[i] < 0:
if val > abs(lst[i]+lst[j]):
val = abs(lst[i]+lst[j])
answer[0] = lst[i]
answer[1] = lst[j]
i += 1
elif lst[j]+lst[i] > 0:
if val > abs(lst[i]+lst[j]):
val = abs(lst[i]+lst[j])
answer[0] = lst[i]
answer[1] = lst[j]
j -= 1
else:
answer[0] = lst[i]
answer[1] = lst[j]
break
print(answer[0], answer[1])
앞으로 가면 증가, 뒤로가면 감소 인것을 이용하여 0에 최대한 가까운 수들을 구한다.
'코테 > BOJ' 카테고리의 다른 글
백준 2231 [분해합] 파이썬 (0) | 2022.02.12 |
---|---|
백준 2493 [탑] 파이썬 (0) | 2022.02.12 |
백준 2166 [다각형의 면적] 파이썬 (0) | 2022.02.12 |
백준 12852 [1로 만들기 2] (0) | 2022.02.11 |
백준 1213 [펠린드롬 만들기] 파이썬 (0) | 2022.02.11 |