๐Ÿ‹[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ทค ๊ณ ๋ฅด๊ธฐ

Chobbyยท2022๋…„ 12์›” 17์ผ
0

Programmers

๋ชฉ๋ก ๋ณด๊ธฐ
154/345

๐Ÿงก๋ฌธ์ œ ์„ค๋ช…

๊ฒฝํ™”๋Š” ๊ณผ์ˆ˜์›์—์„œ ๊ทค์„ ์ˆ˜ํ™•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฝํ™”๋Š” ์ˆ˜ํ™•ํ•œ ๊ทค ์ค‘ 'k'๊ฐœ๋ฅผ ๊ณจ๋ผ ์ƒ์ž ํ•˜๋‚˜์— ๋‹ด์•„ ํŒ๋งคํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ˆ˜ํ™•ํ•œ ๊ทค์˜ ํฌ๊ธฐ๊ฐ€ ์ผ์ •ํ•˜์ง€ ์•Š์•„ ๋ณด๊ธฐ์— ์ข‹์ง€ ์•Š๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ฒฝํ™”๋Š” ๊ทค์„ ํฌ๊ธฐ๋ณ„๋กœ ๋ถ„๋ฅ˜ํ–ˆ์„ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒฝํ™”๊ฐ€ ์ˆ˜ํ™•ํ•œ ๊ทค 8๊ฐœ์˜ ํฌ๊ธฐ๊ฐ€ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ฒฝํ™”๊ฐ€ ๊ทค 6๊ฐœ๋ฅผ ํŒ๋งคํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํฌ๊ธฐ๊ฐ€ 1, 4์ธ ๊ทค์„ ์ œ์™ธํ•œ ์—ฌ์„ฏ ๊ฐœ์˜ ๊ทค์„ ์ƒ์ž์— ๋‹ด์œผ๋ฉด, ๊ทค์˜ ํฌ๊ธฐ์˜ ์ข…๋ฅ˜๊ฐ€ 2, 3, 5๋กœ ์ด 3๊ฐ€์ง€๊ฐ€ ๋˜๋ฉฐ ์ด๋•Œ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜๊ฐ€ ์ตœ์†Œ์ผ ๋•Œ์ž…๋‹ˆ๋‹ค.

๊ฒฝํ™”๊ฐ€ ํ•œ ์ƒ์ž์— ๋‹ด์œผ๋ ค๋Š” ๊ทค์˜ ๊ฐœ์ˆ˜ k์™€ ๊ทค์˜ ํฌ๊ธฐ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด tangerine์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๊ฒฝํ™”๊ฐ€ ๊ทค k๊ฐœ๋ฅผ ๊ณ ๋ฅผ ๋•Œ ํฌ๊ธฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.


๐Ÿ’›์ œํ•œ์‚ฌํ•ญ

  • 1 โ‰ค k โ‰ค tangerine์˜ ๊ธธ์ด โ‰ค 100,000
  • 1 โ‰ค tangerine์˜ ์›์†Œ โ‰ค 10,000,000

๐Ÿ’š์ž…์ถœ๋ ฅ ์˜ˆ

ktangerineresult
6[1, 3, 2, 5, 4, 5, 2, 3]3
4[1, 3, 2, 5, 4, 5, 2, 3]2
2[1, 1, 1, 1, 2, 2, 2, 3]1

๐Ÿ’™์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

๋ณธ๋ฌธ์—์„œ ์„ค๋ช…ํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

๊ฒฝํ™”๋Š” ํฌ๊ธฐ๊ฐ€ 2์ธ ๊ทค 2๊ฐœ์™€ 3์ธ ๊ทค 2๊ฐœ ๋˜๋Š” 2์ธ ๊ทค 2๊ฐœ์™€ 5์ธ ๊ทค 2๊ฐœ ๋˜๋Š” 3์ธ ๊ทค 2๊ฐœ์™€ 5์ธ ๊ทค 2๊ฐœ๋กœ ๊ทค์„ ํŒ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ์˜ ํฌ๊ธฐ ์ข…๋ฅ˜๋Š” 2๊ฐ€์ง€๋กœ ์ด ๊ฐ’์ด ์ตœ์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #3

๊ฒฝํ™”๋Š” ํฌ๊ธฐ๊ฐ€ 1์ธ ๊ทค 2๊ฐœ๋ฅผ ํŒ๋งคํ•˜๊ฑฐ๋‚˜ 2์ธ ๊ทค 2๊ฐœ๋ฅผ ํŒ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ์˜ ํฌ๊ธฐ ์ข…๋ฅ˜๋Š” 1๊ฐ€์ง€๋กœ, ์ด ๊ฐ’์ด ์ตœ์†Œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.


๐Ÿ’œ๋‚˜์˜ ํ’€์ด

function solution(k, tangerine) {
    // ์ •๋‹ต
    let result = 0
    // ๊ทค ํฌ๊ธฐ ๋ณ„ ์ˆ˜๋Ÿ‰์„ ๋‹ด์„ ๋ฐฐ์—ด
    const sizes = {}
    tangerine.forEach(a => {
        sizes[a] = ++sizes[a] || 1
    })
    // ๋‹ด๊ธด ์ˆ˜๋Ÿ‰ ๋ณ„ ๋‚ด๋ฆผ์ฐจ ์ˆœ ์ •๋ ฌ
    const nums = Object.values(sizes).sort((a,b) => b-a)
    // ๊ทค์ด ๋ชจ๋‘ ๋‹ด๊ธธ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
    for(let i = 0 ; k > 0 ; i ++) {
        result++
        k-=nums[i]
    }
    return result
}
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€