투포인터 4

[백준][Python] 2003 수들의 합 2

🔢 https://www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 내 풀이 N, M = map(int, input().split()) num = list(map(int, input().split())) s = e = 0 ans = 0 while s e: e += 1 elif M > sum(num[s:e+1]): e += 1 else: s += 1 if s > e: e += 1 print(ans) 코드 설명 s: 시작 ..

코딩테스트 2024.03.17

[백준][Python] 11728 배열 합치기

👩🏻‍💻 https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 내 풀이 (정렬 ver) N, M = map(int, input().split()) arr = [] for _ in range(2): arr += list(map(int, input().split())) print(*sorted(arr)) 초간단 풀이! A와 B를 입력받아 정답 배열 arr에 추가해 준 뒤, arr를 정렬한다. 내 풀이 (투포인터 ver..

코딩테스트 2024.03.12

[백준][Python] 2018 수들의 합 5

🔢 https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 내 풀이 N = int(input()) num = [x for x in range(1, N+1)] s, e = 0, 1 ans = 0 while s N: s += 1 else: s += 1 e = s + 1 ans += 1 pr..

코딩테스트 2024.03.11

[백준][Python] 28353 고양이 카페

🐈 https://www.acmicpc.net/problem/28353 28353번: 고양이 카페 첫째 줄에 정수 $N$과 $K$가 공백으로 구분되어 주어진다. $(1 \leq N \leq 5\,000;$ $1 \leq K \leq 10^9)$ 둘째 줄에는 각 고양이의 무게를 의미하는 $N$개의 정수 $w_1, w_2, \dotsm, w_N$이 공백으로 구분되어 주어 www.acmicpc.net 내 풀이 N, K = map(int, input().split()) cats = sorted(map(int, input().split())) ans = 0 s = 0 e = N-1 while e-s > 0: if cats[s] + cats[e] > K: # 무게 초과 e -= 1 else: ans += 1 s +..

코딩테스트 2024.03.03