문제소개 해결과정 다음과 같은 단계를 통해 풀이했다. 우선 출력 조건에 있듯이, 사전에 수록되어 있는 문자열의 개수가 K보다 작으면 -1을 출력해야한다. -> 사전에 수록되어 있는 문자열의 개수를 먼저 구해야함 -> a의 개수 n, z의 개수 m이 있을 때 나올 수 있는 경우의 수는 n+m_C_n -> 경우의 수 K가 최대 십억까지 가능 -> 경우의 수가 너무 많다. dp를 통해 구해야함 dp[][] 배열을 구했으면 K번째에 있는 문자열을 구해야한다. -> 편하게 모든 것은 a를 기준으로 생각한다. -> K번째 자리에 최초 a가 올 지, z가 올 지는 어떻게 판단할까? -> a를 뽑은 경우의 수는 n+m-1_C_n-1 개가 된다. -> z를 뽑은 경우의 수는 바로 뒤부터 n+m-1_C_n 개가 존재한다...