본문 바로가기

PS73

[테스트케이스 추가] 백준 11051 번: 이항계수 2 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 2. 풀이 nCk = n-1Ck-1+n-1Ck 성질을 이용해 구하면 된다. 3. 구현 import sys # sys.stdin = open('input.txt') N,K = map(int, sys.stdin.readline().split()) mod = 10**4+7 mm = [[0 for _ in range(N+2)] for __ in range(N+2)] for i in range(N+1): mm[i][0]=1 for i in range(1, N+1):.. 2021. 7. 19.
백준 11057번: 오르막수 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 2. 풀이 계단수 랑 굉장히 비슷한 문제인데 이번에는 증가하는 방향밖에 없으므로 9만 처리하면 된다. 가장 마지막에 9가 나온 경우 이 이 후로는 9만 나오기 때문에 한 가지 경우밖에 없다. 또 나머지 숫자는 자기 이상의 숫자이기만 하면 되므로 j와 k로 이후에 나올 수 전체를 탐색해줘야한다. 3. 구현 import sys # sys.stdin=ope.. 2021. 7. 19.
[테스트케이스 추가] 백준 10844 번: 쉬운 계산 수 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 풀이 마지막 숫자가 무엇인지에 대한 정보도 필요해서 차원을 하나 늘려 기록해야한다. 마지막 숫자가 0이면 1로 증가시키는 방법밖에 없고 마지막 숫자가 9이면 8로 줄이는 방법 밖에 없다. 3. 구현 import sys # sys.stdin=open('input.txt') from collections import deque mod = 10**9 N=int(sys.stdin.readline()) mm=[[0]*10 for _ in range(N+2)] mm[1]=[0,1,1,1,1,1,1,1,1,.. 2021. 7. 19.
[테스트케이스 추가] 백준 1699 시간초과 해결 python 1. 문제 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 2. 풀이 동전2랑 유사한 문제. 제곱의 수들을 미리 만들어 놓는 게 좋고, 시간복잡도 때문에 min 비교를 i 마다 해야 시간초과를 피할 수 있다. 3. 구현 import sys import math #sys.stdin=open('input.txt') N=int(sys.stdin.readline()) mm=[math.inf]*int(N+2) #최.. 2021. 7. 16.
반응형