투포인터 3

백준 3273번 두 수의 합 Swift

https://www.acmicpc.net/problem/3273 내 코드let n = Int(readLine()!)!let arr = readLine()!.split(separator: " ").map { Int($0)! }.sorted()let target = Int(readLine()!)!var left = 0var right = n - 1var result = 0while left  Review이중 for문을 통해 모든 경우의 수를 다 계산을 하면 시간초과가 뜨기 때문에, 투포인터를 활용하여 풀었습니다. 예시로 아래와 같은 배열 [1, 3, 5, 10, 12] 이 있다고 하겠습니다.left가 가리키는 배열의 수와 right가 가리키는 배열의 수의 합이 target 과 같다면 결과에 1을 더해줍니다..

BOJ/Swift 2024.11.14

백준 11003번 최솟값 찾기 파이썬

https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 내 코드 import sys from collections import deque input = sys.stdin.readline N, L = map(int, input().split()) A = list(map(int, input().split())) dq = deque() for i in range(N): while dq and (dq[-1][1] > A[i])..

BOJ/Python 2023.02.17

백준 12891번 DNA 비밀번호 파이썬

https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 내 답안 import sys input = sys.stdin.readline S, P = map(int, input().split()) DNA = input().rstrip() DNA_dict = {'A': 0, 'C': 1, 'G': 2, 'T': 3} ACGT = list(map(int, input().split())) result = 0 start_index = 0 e..

BOJ/Python 2023.02.14
반응형
목차(index)