본문 바로가기

코딩테스트/백준35

[Python] 백준 1010. 다리놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 조합 방식이다. 조합의 공식을 보면 n.. 2023. 11. 29.
[Python] 백준 11399. ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 설명: 줄을 서 있는 사람의 대기시간이 주어졌을때 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 문제이다. 3 1 4 3 2 가 주어지면 1번 = 3분 / 2번 = 1분 / 3번 = 4분 / 4번 = 3분 / 5번 = 2분의 시간을 쓴다. 순서가 1번 -> 2번 -> 3번 -> 4번 -> 5번 이면 1번이 쓰는 시간 : 3분 2번이 쓰는 시간 : 3 + 1 -> 4분 3번이 쓰는 시간 : 3 + 1 + 4.. 2023. 11. 25.
[Python] 백준 11047번. 동전 0 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제: 최소 동전의 갯수를 찾는 문제이다. 4200원이 주어졌을때 1000 * 4 와 100 *2 동전 6개로 최솟값을 찾을 수 있다. 풀이 설계 p는 인덱스로 사용한다. k가 nlist[p] 보다 작으면 동전의 값이 더 크기 때문에 인덱스 값을 증가시켜준다. ex) 4200 < 5000 k가 nlist[p]보다 크면 cnt = k .. 2023. 11. 24.
[Python] 백준 2231. 분해합 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제 설명: 216이 주어졌을때 198 -> 198 + 1 + 9 + 8 로 216을 만들 수 있다. 이 역시 1부터 216이 될 때까지 계속 for문을 돌면서 찾아 볼 수 있다. 문제 설계 루프를 돌면서 i가 10 이상이면 몫과 나머지를 구해 각 자릿수의 합을 구한다. ex) 23 일때 2+3을 구한다. 만약 각 자릿수의 합과 입력받은 N의 값이 같으면 종료한다. i.. 2023. 11. 23.