[알고리즘] 백준 1806 부분합 / python
https://www.acmicpc.net/problem/1806 1806번: 부분합 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. www.acmicpc.net N, S = map(int, input().split()) A = list(map(int, input().split())) left, right, hap, result, temp = 0, 0, A[0], 0, 0 while left = S: temp = right - left + 1 if result == 0: result = temp else: result = min(result, temp) ..
[알고리즘] 백준 2003 수들의 합 2 / python
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 left, right를 설정해놓고 진행해나가는데 right는 left와 같거나 커야한다. left가 증가할 경우의 예외처리를 처음에 못했는데 left가 right보다 커지면 right를 left와 같게 해줘서 그 인덱스부터 시작할 수 있도록 해준다. (처음 시작하는 것 처럼) N, M = map(int, input().split()) A = list(map(int, in..
[알고리즘] 백준 1248 맞춰봐 / python, 백트랙킹
https://www.acmicpc.net/problem/1248 1248번: 맞춰봐 문제 규현이는 멍청하다. 왜냐하면, 1~10까지 수 밖에 모르기 때문이다. 어느 날 규현이 옆을 지나가던 태석이가 규현이를 보고 이렇게 외쳤다. "빵빵!!" 규현이는 "아하!" 하면서 세상에는 빵이란 www.acmicpc.net ✔ 풀이과정 첫째 줄에 수열의 크기 N이 주어진다. 처음 N개의 문자는 부호 배열의 첫 번째 줄에 해당하고, 다음 N-1개의 문자는 두 번째 줄에 해당한다. 예제에서 첫번째줄 : -+0+ / 두번째줄 : +++ / 세번째줄 : -- / 네번째줄:+ 이다. A = [-2, 5, -3, 1]일 때, 부호의 뜻은 첫번째줄 : A[0], A[0]+A[1], A[0]+A[1]+A[2], A[0]+A[1]..