You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
소인수가 2, 3, 5로만 이루어진 수를 ugly number라 할 때 n번째 ugly number를 구하는 문제
Solution
n범위가 작아서 무식하게 구해도 통과는 된다.
좀 더 O(n)으로 잘 구해볼 수 있을까..
약간의 dp를 쓸 수 있다. 일단 다음 수는 이전의 ugly number들 뒤에 2, 3, 5를 곱한 수가 된다. 그 중 제일 작은 수가 다음 수가 된다.
2, 3, 5를 곱해야 하므로 포인터는 3개를 컨트롤해야 하고 다음 수를 만든 수는 더 이상 필요가 없어지므로 포인터를 1 증가시킨다.
This discussion was converted from issue #140 on September 15, 2026 11:12.
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Problem link
https://leetcode.com/problems/ugly-number-ii/
Problem Summary
소인수가 2, 3, 5로만 이루어진 수를 ugly number라 할 때 n번째 ugly number를 구하는 문제
Solution
n범위가 작아서 무식하게 구해도 통과는 된다.
좀 더 O(n)으로 잘 구해볼 수 있을까..
약간의 dp를 쓸 수 있다. 일단 다음 수는 이전의 ugly number들 뒤에 2, 3, 5를 곱한 수가 된다. 그 중 제일 작은 수가 다음 수가 된다.
2, 3, 5를 곱해야 하므로 포인터는 3개를 컨트롤해야 하고 다음 수를 만든 수는 더 이상 필요가 없어지므로 포인터를 1 증가시킨다.
말로 하는건 좀 어려운데 코드를 보면 좀 더 이해하기 쉬울 수 있다.
Source Code
All reactions