2/BOJ 6

백준 11399, 5585번 - ATM, 거스름돈

www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사� www.acmicpc.net 그리디 11399번 def solution(p): answer = [] count = 0 for i in range(N):..

2/BOJ 2020.10.21

백준 2750, 2751번 - 수 정렬하기1, 2

www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 2750. n = int(input()) li = [] for _ in range(n): m = int(in..

2/BOJ 2020.10.20

백준 1920번 - 수 찾기

www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1≤N≤100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1≤M≤100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안�� www.acmicpc.net 이분탐색 n = int(input()) nn = list(input().split()) nn.sort() m = int(input()) mm = list(input().split()) def search(mm,start,end,nn): if start > end: return 0 mid = (start + end) // 2 if nn[mid] == mm: return..

2/BOJ 2020.10.18

백준 11401번 - 이항계수3

www.acmicpc.net/problem/11401 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net 처음엔 평범하게 풀었다가 왜 안되나 봤더니 n의 크기가 4,000,000 이하라 유클리드 호제법/ 페르마의 소정리 둘 중 하나로 풀어야 되는 문제였다. 물론 다른 방법도 있지만...검색으로 페르마의 소정리법을 배웠다... 이항계수의 식을 풀어 페르마의 소정리에 적용시킨것. 도움받은 블로그는 onsil-thegreenhouse.github.io/programming/problem/2018/04/02/problem_combination/..

2/BOJ 2020.10.13

백준 1655번 - 가운데를 말해요

www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 1. 순차탐색 N = int(input()) answer = [] result = [0]*N for i in range(N): n = int(input()) answer.append(n) answer.sort() l = int(len(answer)/2) if len(answer)%2 == 1: result[i] = answer[l] else: result[i] = answer[l-1] for i..

2/BOJ 2020.10.13

백준 12865번 - 평범한 배낭

www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net DP - Dynamic Programming DP의 대표적인 문제인 배낭문제. 1. w j : 물건 i의 무게가 임시 배낭의 무게를 초과 n, k = map(int, input().split()) aws = [[0 for _ in range(k+1)] for _ in range(n+1)] for i in range(1,n+1): w, v = ma..

2/BOJ 2020.10.12