https://github.com/Dev-Guccin
Guccin
https://github.com/Dev-Guccin
전체 방문자
오늘
어제
  • 분류 전체보기 (172)
    • 알고리즘 (140)
    • 삽질방지 (13)
    • SystemHacking (1)
    • 일상 (4)
    • 개발 (8)
    • 스프링 부트 REST API 개발일지 (5)
    • JPA (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 재귀함수
  • 재귀
  • 유클리드호제법
  • 다익스트라
  • 그리디
  • 그래프
  • 백트래킹
  • 최소힙
  • 큐
  • 스택
  • 백준
  • DFS
  • BFS
  • 유니온 파인드
  • python3
  • 다이나믹프로그래밍
  • DP
  • 이분탐색
  • heapq
  • 12015
  • counter
  • 다이나믹 프로그래밍
  • 이분 탐색
  • LIS
  • MST
  • 최대공약수
  • 프로그래머스
  • 파이썬
  • Python
  • 최단경로

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
https://github.com/Dev-Guccin

Guccin

[python3] 백준 2470 풀이 ( 투포인터 )
알고리즘

[python3] 백준 2470 풀이 ( 투포인터 )

2022. 2. 25. 22:57

문제의 목표는 두 용액을 선택하여 차이 값이 가장 적은 경우를 가지는 두 용액의 특성값을 출력해야한다.
입력으로 주어지는 N값은 100,000이다. 만약 모든 용액을 서로 비교한다고 가정한다면 100,000 * 100,000 경우의 수를 연산해야한다. 이러한 경우 연산 횟수가 너무 많아지기 때문에 완전 탐색으로 풀수가 없다.

따라서 다른 방법을 써야하는데 투포인터를 쓰는 방식을 생각해 볼 수 있다. 투 포인터는 리스트에 순차적으로 접근해야 할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘이다. 따라서 보통은 i,j로 인덱스를 만들고 인덱스를 서로 1씩 증가 시켜가며 특정 합을 구할때도 많이 쓰인다. 이것과 비슷하게 이 문제를 처리할 수 있다. 다만 i,j를 서로 반대편에 놓고 값을 비교해가며 포인터를 옮겨주어야한다.

이러한 방식으로 데이터를 처리해주면 된다. 

N = int(input())
nums = list(map(int, input().split()))
nums.sort()
diff = 2000000000

L = 0
R = len(nums)-1

A, B = 0, 0
while L < R:
    ans = nums[L] + nums[R]
    if diff > abs(ans):
        diff = abs(ans)
        A = nums[L]
        B = nums[R]

    if ans > 0:
        R -= 1
    else:
        L += 1
print(A, B)
저작자표시 (새창열림)

'알고리즘' 카테고리의 다른 글

[python3] 프로그래머스 외벽 점검 ( 2020 KAKAO BLIND RECRUITMENT, level3, 완전탐색, 순열 )  (0) 2022.02.28
[python3] 백준 4195 (친구 네트워크, 유니온 파인드)  (0) 2022.02.26
[python3] 프로그래머스 섬 연결하기 ( 그리디, MST, 크루스칼, 유니온 파인드)  (0) 2022.02.25
[python3] 프로그래머스 추석트래픽 풀이 ( 그리디 )  (0) 2021.10.17
[python3] 백준 1194 풀이 ( "달이 차오른다, 가자." , BFS )  (0) 2021.10.16
    '알고리즘' 카테고리의 다른 글
    • [python3] 프로그래머스 외벽 점검 ( 2020 KAKAO BLIND RECRUITMENT, level3, 완전탐색, 순열 )
    • [python3] 백준 4195 (친구 네트워크, 유니온 파인드)
    • [python3] 프로그래머스 섬 연결하기 ( 그리디, MST, 크루스칼, 유니온 파인드)
    • [python3] 프로그래머스 추석트래픽 풀이 ( 그리디 )
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin

    티스토리툴바