-
[Algo Rhythm๐บ๐] ํ๋ก๊ทธ๋๋จธ์ค ๊ณ ๋์ kit ๋ผ๋ฉด๊ณต์ฅAlgo Rhythm๐บ๐/Programmers 2020. 7. 14. 16:09
๐ ๋ฌธ์ ์ค๋ช
๋ผ๋ฉด ๊ณต์ฅ์์๋ ํ๋ฃจ์ ๋ฐ๊ฐ๋ฃจ๋ฅผ 1ํค์ฉ ์ฌ์ฉํฉ๋๋ค. ์๋ ๋ฐ๊ฐ๋ฃจ๋ฅผ ๊ณต๊ธ๋ฐ๋ ๊ณต์ฅ์ ๊ณ ์ฅ์ผ๋ก ์์ผ๋ก k์ผ ์ดํ์์ผ ๋ฐ๊ฐ๋ฃจ๋ฅผ ๊ณต๊ธ๋ฐ์ ์ ์๊ธฐ ๋๋ฌธ์ ํด์ธ ๊ณต์ฅ์์ ๋ฐ๊ฐ๋ฃจ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.
ํด์ธ ๊ณต์ฅ์์๋ ํฅํ ๋ฐ๊ฐ๋ฃจ๋ฅผ ๊ณต๊ธํ ์ ์๋ ๋ ์ง์ ์๋์ ์๋ ค์ฃผ์๊ณ , ๋ผ๋ฉด ๊ณต์ฅ์์๋ ์ด์ก๋น๋ฅผ ์ค์ด๊ธฐ ์ํด ์ต์ํ์ ํ์๋ก ๋ฐ๊ฐ๋ฃจ๋ฅผ ๊ณต๊ธ๋ฐ๊ณ ์ถ์ต๋๋ค.
ํ์ฌ ๊ณต์ฅ์ ๋จ์์๋ ๋ฐ๊ฐ๋ฃจ ์๋ stock, ๋ฐ๊ฐ๋ฃจ ๊ณต๊ธ ์ผ์ (dates)๊ณผ ํด๋น ์์ ์ ๊ณต๊ธ ๊ฐ๋ฅํ ๋ฐ๊ฐ๋ฃจ ์๋(supplies), ์๋ ๊ณต์ฅ์ผ๋ก๋ถํฐ ๊ณต๊ธ๋ฐ์ ์ ์๋ ์์ k๊ฐ ์ฃผ์ด์ง ๋, ๋ฐ๊ฐ๋ฃจ๊ฐ ๋จ์ด์ง์ง ์๊ณ ๊ณต์ฅ์ ์ด์ํ๊ธฐ ์ํด์ ์ต์ํ ๋ช ๋ฒ ํด์ธ ๊ณต์ฅ์ผ๋ก๋ถํฐ ๋ฐ๊ฐ๋ฃจ๋ฅผ ๊ณต๊ธ๋ฐ์์ผ ํ๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
dates[i]์๋ i๋ฒ์งธ ๊ณต๊ธ ๊ฐ๋ฅ์ผ์ด ๋ค์ด์์ผ๋ฉฐ, supplies[i]์๋ dates[i] ๋ ์ง์ ๊ณต๊ธ ๊ฐ๋ฅํ ๋ฐ๊ฐ๋ฃจ ์๋์ด ๋ค์ด ์์ต๋๋ค.
์ ํ์ฌํญ
-
stock์ ์๋ ๋ฐ๊ฐ๋ฃจ๋ ์ค๋(0์ผ ์ดํ)๋ถํฐ ์ฌ์ฉ๋ฉ๋๋ค.
-
stock๊ณผ k๋ 2 ์ด์ 100,000 ์ดํ์ ๋๋ค.
-
dates์ ๊ฐ ์์๋ 1 ์ด์ k ์ดํ์ ๋๋ค.
-
supplies์ ๊ฐ ์์๋ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค.
-
dates์ supplies์ ๊ธธ์ด๋ 1 ์ด์ 20,000 ์ดํ์ ๋๋ค.
-
k์ผ ์งธ์๋ ๋ฐ๊ฐ๋ฃจ๊ฐ ์ถฉ๋ถํ ๊ณต๊ธ๋๊ธฐ ๋๋ฌธ์ k-1์ผ์ ์ฌ์ฉํ ์๋๊น์ง๋ง ํ๋ณดํ๋ฉด ๋ฉ๋๋ค.
-
dates์ ๋ค์ด์๋ ๋ ์ง๋ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด ์์ต๋๋ค.
-
dates์ ๋ค์ด์๋ ๋ ์ง์ ๊ณต๊ธ๋๋ ๋ฐ๊ฐ๋ฃจ๋ ์์ ์์ ์ ์๋ฒฝ์ ๊ณต๊ธ๋๋ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 9์ผ์งธ์ ๋ฐ๊ฐ๋ฃจ๊ฐ ๋ฐ๋ฅ๋๋๋ผ๋, 10์ผ์งธ์ ๊ณต๊ธ๋ฐ์ผ๋ฉด 10์ผ์งธ์๋ ๊ณต์ฅ์ ์ด์ํ ์ ์์ต๋๋ค.
-
๋ฐ๊ฐ๋ฃจ๊ฐ ๋ฐ๋ฅ๋๋ ๊ฒฝ์ฐ๋ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
๐ฏ ์ด๋ป๊ฒ ํ์๋
import java.util.PriorityQueue; import java.util.Comparator; class Solution { public int solution(int stock, int[] dates, int[] supplies, int k) { int answer = 0; int idx = 0; PriorityQueue<Integer> supplyQ = new PriorityQueue<>(Comparator.reverseOrder()); for(int i = 0; i < k; i++) { if(idx < dates.length && i == dates[idx]) { supplyQ.add(supplies[idx++]); } if(stock == 0) { // ์ฌ๊ณ ๊ฐ ๋จ์ด์ง -> ์์ ํ์ stock += supplyQ.poll(); answer++; } stock--; } return answer; } }
๐ง ์ ์ ๋ ๊ฒ ํ์๋
์ฌ์ค ์ด ๋ฌธ์ ๋ ์ ํ ์๊ฐ ์์ ํด๊ฒฐํ์ง ๋ชป ํด ์๋ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ผ๋ฉด๊ณต์ฅ (Java)
ํ๋ก๊ทธ๋๋จธ์ค ๋ผ๋ฉด๊ณต์ฅ์ด ๋ฌธ์ ์ ํต์ฌ์ ๊ณต๊ธ๋ฐ์ ์ ์์ ๋ ๊ณต๊ธ๋ฐ๋ ๊ฒ์ด ์๋๋ผ ํ์ํ ๋ ๊ฐ์ฅ ํฐ ๊ณต๊ธ๋์ ๊ณต๊ธ๋ฐ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ต๋ ํ์ ์ด์ฉํด์ ๊ณต๊ธ์ ๋ฐ์์ผํ๋ ์์ ์ ๊ณต๊ธ๏ฟฝ๏ฟฝ
velog.io
์ด ๋ฌธ์ ์ ํต์ฌ์ '์ฌ๊ณ ๊ฐ ๋จ์ด์ก์๋ ๊ณต๊ธ๋ฐ์ ์ ์๋ ๊ณต๊ธ๋ ์ค ๊ฐ์ฅ ํฐ ๊ณต๊ธ๋์ ๊ณต๊ธ๋ฐ๋ ๊ฒ'์ด๋ค.
์ด๋ฅผ ์ํด ์ต๋ ํ์ ๋ง๋ค๊ณ ์์ ํ ์ ์๋ ๋ ์ง๊ฐ ์์ ๋ ํ์ ๊ณต๊ธ๋์ ์ถ๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ณ ๊ฐ ๋จ์ด์ง๋ฉด ๊ฐ์ฅ ํฐ ๊ณต๊ธ๋์ ์ถ๊ฐํ๊ณ ์์ ํ์๋ฅผ ํ๋ ์ฆ๊ฐํ๋ค.
๐ ๋ฌด์์ ๋ฐฐ์ ๋
์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ ์ฌ๋ฆฌ์ง ๋ชป ํ์๊น๋ฅผ ์๊ฐํ๋ค.
์๊ฐํด๋ณด๋ ๊ณต๊ธ๋ฐ์ ์ ์์ ๋ ๊ณต๊ธํด์ผ ํ๋ค๋ ์ด์ ๋ชจ๋ฅผ ๊ฐ๋ฐ์ ์๋ฌ๋ ธ๋ ๊ฒ ๊ฐ๋ค.
๊ฐ๋ฐ์์ ๋ฒ์ด๋ ๋๊ฒ ์๊ฐํ ์ ์๋ ์ค๋ ฅ์ ๊ฐ๊ณ ์ถ๋ค.
'Algo Rhythm๐บ๐ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
-