profile
Dream of being "물빵개" ( Go abroad for Dance and Programming)

CodeForce_KthBeautifulString

첫번째 풀이 : 시간초과 b가 들어갈 수 있는 idx의 조합을 구한다. 오름차순으로 idx가 정렬될 것이다. tmp = ['a'] * ( n + 1 ) 을 선언해두고 b가 들어가는 조합에 근거하여 'b'를 넣은 후 정렬한다 ex [0,1] ... >> bbaaa ( 1번째로 만들어진다 ) 하지만, 중요한 점은 실제 b가 정렬되는 순서는 b의 idx가 [0,1] 일때는 맨 마지막으로 와야 한다 그러므로, 만들어진 문자열들에 대해서 오름차순 정렬하도록 한다. 입력받은 , 순서 정보 를 통해 해당 숫자의 문자열 출력 두번째 : 시간초과 > 같은 원리이지만, 조합이 만들어지는 idx순서가 다르다 1번째에서는 [0,1] .... 이런식으로 만들어지지만, 여기서는 [5,4] ... 이런식으로 만들어진다. 이런 시도를 한 이유는 1번째에서 문자열 후보를 만들고 sort 하는데에 걸리는 최소 시간 복잡도가 O ( n log n)

2021년 2월 4일
·
0개의 댓글
·