본문 바로가기

백준 PS일지/Two Pointer

(7)
[백준/Swift] 1484 : 다이어트 문제 풀이 BOJ_1484.swift 1484 : 다이어트/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1484 1484번: 다이어트 성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다. www.acmicpc.net 1484 : 다이어트 / 문제 소개 (요즘 집에 앉아서 공부만하니 살이 3키로 쪘당..) 성원이는 다이어트 중이다. 저울에 올라갔다. 안돼! G킬로그램이나 더 쪘어!!... 여기서 말하는 G킬로그램은 성원이의 현재 몸무게 제곱에서 성원이가 기억하고 있던 몸무게의 제곱을 뺀 것. 성원이의 현재 몸무게로 가능한 것을 모두 출력하는 프..
[백준/Swift] 2230 : 수 고르기 문제 뿌수기!! BOJ_2230.swift 2230 : 수 고르기/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net 2230 : 수 고르기 / 문제 소개 N개의 정수로 이루어진 수열이 있다. 두 수를 고를 수 있는데 같은 수를 고를 수 있다. 두 수간 차이가 M이상이면서 제일 작은 경우를 구하시오. 풀이 과정 문제를 읽고 투 포인터를 통해 "두 수"를 선택하고 차이를 제일 작은 경우를 선정했다. 물론 수열을 ..
[백준/Swift] 1253 : 좋다 문제 풀이와 2개의 반례 BOJ_1253.swift 1253 : 좋다/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 1253 : 좋다 / 문제 소개 N개의 수 중에서 어떤 수가 다른 수 두개 의 합으로 나타낼 수 있다면 그 수를 좋다~라고 한다. N이 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하는 문제!! 풀이 과정 10 1 2 3 4 5 6 7 8 9 10 // list에 저장 이 input으로 주어졌을 때 아!? 투 포인터?!를 떠올렸고 N개의 수..
[백준/Swift] 3273 : 두 수의 합 BOJ_3273.swift 3273 : 두 수의 합/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 3273 : 두 수의 합 / 문제 소개 서로다른!!! n개의 양의 정수로 이루어진 수열 중에서 ai + aj = x(문제에서 주어진 자연수 x)를 만족하는 (ai,aj)쌍의 수를 구하는게 문제이다. 풀이 과정 처음에 투 포인터 left, right 를 이용해..
[백준/Swift] 1806 : 부분합 문제 뿌수기!! + 2개 반례 BOJ_1806.swift 1806 : 부분 합/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N 6 -> 10 -> 15를 달성하고 right 가 maxIndex가 됬으므로 while문이 종료되어 left 탐색을 하지 못했습니다. 또한 이 경우 문제점이.. 최적의 값 2 4 5를 찾지 못하고 3 4 5를 답으로 측정했기 때문에 left는 ..
[백준/Swift] 2470 : 두 용액 문제 뿌수기!! BOJ_2470.swift 2470 : 두 용액/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 2470 : 두 용액 / 문제 소개 간단하게 문제를 소개하자면 연구소에는 많은 산성 용액과 알칼리성 용액을 보유하고 있는데 용액별로 특성값이 존재합니다. 산성 용액 특성값의 경우 1 ~ 1,000,000,000 알칼리성 용액 특성값의 경우 -1,000,000,000 ~ -1 로 존재..
[백준/Swift] 14719 : 빗물 문제 뿌수기!! ( 2개 반례 포함) BOJ_14719.swift 14719 : 빗물/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/14719 14719 : 빗물/ 문제 소개 물이 고일 수 있는 경우는 빈 블럭보다 높은 블럭이 양 옆에 혹은 떨어져서 존재해야 물은 고일 수 있다. 평평하거나 높이가 0인 경우 물은 고이지 않는다. 풀이 과정 주어진 2차원 세계에서 바닥은 항상 막혀있다. 빗물이 고이는 경우는 힌트 1과 힌트 2에 답이 있다. 첫번째, 둘러 쌓여 있는 겉 블록의 양 끝 높이가 같거나 오른쪽이 클 경우 이 경우 힌트의 동그라미 분홍색 칠과 같은 경우이다. 가장 왼쪽 블록과 가장 오른쪽 블록의 높이가 같거나 오른쪽 블록의 높이가 클때 왼쪽 블록을 기준으로 빗물이 고이는 경우를 구하는 것..