백준 10986: 나머지 합 (자바/파이썬) 10986번: 나머지 합 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) www.acmicpc.net 이걸.. 내가 풀었다고 해도 되나요? 1. 모듈러 연산 이용하기(A + B) % M = ((A % M) + (B % M)) % M - 이 문제에서 찾아야 하는 것(A - B) % M = 0 - 그렇다면 이용해야 하는 것(A % M) - (B % M) = 0(A % M) = (B % M) 누적합의 나머지를 구한 후모듈러 연산을 이용할 수 있는, 즉 같은 나머지를 가진 2개 ..
백준 12933. 오리 (파이썬) 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net # [BOJ] 12933. 오리 2023-03-09 S = input() ans = 0 A = [] L = ['0', 'q', 'u', 'a', 'c', 'k'] for i in range(len(S)): s = S[i] if L.index(s) == 1: # q가 나온 경우 t = 1 for j in range(len(A)): if L.index(A[j][-1]) == 5: A[j] += s t = 0 break if t == 1: A.append(s..
백준 11660. 구간합 구하기 5 (자바) 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 과 같은 예시를 1 3 6 10 3 5 15 24 6 15 27 42 10 24 42 64 로 받아가며 저장하면 된다. 내가 필요한 현재 셀의 값: 새로 더할 수 + 전 행 같은 열 + 같은 행 전 열 - 전 행 전 열 예) 64(a2-3, 3) = 7(a1-3, 3) + 42(a2-2, 3) + 42(a2-3, 2) -..
백준 1417 국회의원 선거 (파이썬) 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net N = int(input()) D = int(input()) L = [int(input()) for _ in range(N - 1)] ans = 0 while L:# while 1로 할 경우 전체 주민이 1명일 때 오류 발생 L = sorted(L, reverse=True) # 가장 큰 값과 계속 비교 if L[0] >= D: D += 1 ans += 1 L[0] -= 1 else: break print(ans)
백준 14916. 거스름돈 (파이썬) 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net # [BOJ] 14916. 거스름돈 2023-02-03 N = int(input()) m = N // 5# 5로 나눌 수 있는 가장 큰 값 지정 후 시작 while 1: if (N - (m * 5)) % 2 == 0: ans = m + ((N - (m * 5)) // 2) break # 거슬러 줄 수 없는 경우 -1 출력 elif m
백준 1269. 대칭 차집합 (파이썬) 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net import sys a, b = map(int, sys.stdin.readline().split()) A = set(map(int, sys.stdin.readline().split())) B = set(map(int, sys.stdin.readline().split())) AA = set(x for x in A if x not in B) BB = set(x for x in B if x not in A) print(le..