https://www.acmicpc.net/problem/1256
1256번: 사전
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 김진영 조교는 동호와 규완이에게 특별 과제를 주었다. 특별 과제는 특별한 문자열로 이루어 진 사전을 만드는 것이다. 사전에 수록되
www.acmicpc.net
# 1256 사전
n, m, k = map(int,input().split())
result = ""
arr = [[1]*(m+1) for _ in range(n+1)]
for i in range(1, n+1):
for j in range(1, m+1):
arr[i][j] = arr[i-1][j] + arr[i][j-1]
if arr[n][m] < k:
print(-1)
else:
while True:
if n == 0 or m == 0:
result += "z"*m
result += "a"*n
break
flag = arr[n-1][m]
if k <= flag:
result += "a"
n -= 1
else:
result += "z"
m -= 1
k -= flag
print(result)
'Coding Test' 카테고리의 다른 글
Python 백준 알고리즘 9252 : LCS 2 (1) | 2023.02.15 |
---|---|
Python 백준 알고리즘 2193 : 이친수 (0) | 2023.02.15 |
Python 백준 알고리즘 1316 : 그룹 단어 체커 (0) | 2023.02.09 |
Python 백준 알고리즘 2941 : 크로아티아 알파벳 (0) | 2023.02.09 |
Python 백준 알고리즘 5622 : 다이얼 (0) | 2023.02.09 |