-
백준 1256 - 사전 (Python)BOJ PS/Python 2023. 7. 3. 22:00
https://acmicpc.net/problem/1256
1256번: 사전
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 김진영 조교는 동호와 규완이에게 특별 과제를 주었다. 특별 과제는 특별한 문자열로 이루어 진 사전을 만드는 것이다. 사전에 수록되
www.acmicpc.net
간만에 자력으로 풀어낸 수학 문제. 풀이과정 처음부터 끝까지 군더더기가 없어서 좋았다.
import sys input=sys.stdin.readline N,M,K=map(int,input().strip().split()) answer='' dp=[[1 for _ in range(M+1)] for _ in range(N+1)] for i in range(1,N+1): for j in range(1,M+1): dp[i][j]=dp[i-1][j]+dp[i][j-1] if dp[N][M]<K: print(-1) exit(0) while True: if not N: answer+="z"*M break elif not M: answer+="a"*N break temp = dp[N - 1][M] if K<=temp: answer+="a" N-=1 else: answer+="z" M-=1 K-=temp print(answer)
'BOJ PS > Python' 카테고리의 다른 글
백준 9370 - 미확인 도착지 (Python) (0) 2023.07.10 백준 1781 - 컵라면 (Python) (0) 2023.07.10 백준 2352 - 반도체 설계 (Python) (0) 2023.07.03 백준 1103 - 게임 (Python) (0) 2023.07.03 백준 16637 - 괄호 추가하기 (Python) (0) 2023.06.05