๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์•Œ๊ณ ๋ฆฌ์ฆ˜ (14)

๐Ÿ–ฅ dev-ruby

[๋ฐฑ์ค€][BOJ] ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ - silver.1 | ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ | ๋™์ ๊ณ„ํš๋ฒ• (Dynamic progrmming, DP)

๋ฌธ์ œ https://www.acmicpc.net/problem/11052 11052๋ฒˆ: ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ๋ฏผ๊ทœ๊ฐ€ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•˜๋Š” ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 1,000) ๋‘˜์งธ ์ค„์—๋Š” Pi๊ฐ€ P1๋ถ€ํ„ฐ PN๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Pi ≤ 10,000) www.acmicpc.net ํ’€์ด function solution(N, price){ let dp = [0, ...price]; for(let i = 2; i +el); console.log(solution(N, price)) ์ฒ˜์Œ์— ์ผ์ผ์ด N๊ฐœ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ์กฐํ•ฉ์˜ ๊ฒฝ์šฐ ์ˆ˜๋ฅผ ๋‹ค ๊ตฌํ–ˆ๋Š”๋ฐ, ์•„๋ฌด๋ฆฌ๋ด๋„ ์ข€ ๋” ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ์œ„ ์ฝ”๋“œ๋Š” ๊ฐ i๋งˆ๋‹ค i๊ฐœ์”ฉ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ ๋ณ„๋กœ ์ตœ๋Œ“๊ฐ’์„ ๊ณ„์† ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ..

๋ฐฑ์ค€ 2022. 1. 26. 23:59
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ด์ง„ ํƒ์ƒ‰ (์ด๋ถ„ ํƒ์ƒ‰, Binary Search)

์ด์ง„ ํƒ์ƒ‰ (์ด๋ถ„ ํƒ์ƒ‰, Binary Search) ์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ •๋ ฌ๋˜์–ด ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์—์„œ ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์”ฉ ์ขํ˜€๊ฐ€๋ฉฐ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด์ง„ ํƒ์ƒ‰์€ ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ ฌ๋˜์–ด ์žˆ์–ด์•ผ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ณ€์ˆ˜ 3๊ฐœ(start, mid, end)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ์ƒ‰ํ•œ๋‹ค. ์ฐพ๊ณ ์žํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„(mid) ์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋น„๊ตํ•ด์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด ์ด์ง„ ํƒ์ƒ‰์ด๋‹ค. ์ด์ง„ ํƒ์ƒ‰(Binary Search)์˜ ํƒ์ƒ‰ ๊ณผ์ • ์œ„์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์—์„œ 8์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฅผ ํƒ์ƒ‰ํ•˜๋„๋ก ํ•˜์ž. ์šฐ์„  ์ฒซ๋ฒˆ์งธ๋กœ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„ ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค. mid = 7; ๋‘๋ฒˆ์งธ๋กœ๋Š” ์ค‘๊ฐ„ ๊ฐ’๊ณผ ์ฐพ์œผ๋ ค๋Š” ๊ฐ’์„ ์„œ๋กœ ๋น„๊ตํ•œ๋‹ค. ๋งŒ์•ฝ ์ฐพ์œผ๋ ค๋Š” ๊ฐ’์ด ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ์ค‘์•™ ์š”์†Œ์˜ ์™ผ์ชฝ์—์„œ ์ค‘๊ฐ„ ๊ฐ’์„ ๋‹ค..

algorithm 2022. 1. 26. 13:41
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Lv.1] ์†Œ์ˆ˜ ๋งŒ๋“ค๊ธฐ | ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ | Summer/Winter Coding(~2018)

๋ฌธ์ œ ์„ค๋ช… ์ฃผ์–ด์ง„ ์ˆซ์ž ์ค‘ 3๊ฐœ์˜ ์ˆ˜๋ฅผ ๋”ํ–ˆ์„ ๋•Œ ์†Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋“ค์ด ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด nums๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, nums์— ์žˆ๋Š” ์ˆซ์ž๋“ค ์ค‘ ์„œ๋กœ ๋‹ค๋ฅธ 3๊ฐœ๋ฅผ ๊ณจ๋ผ ๋”ํ–ˆ์„ ๋•Œ ์†Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ nums์— ๋“ค์–ด์žˆ๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” 3๊ฐœ ์ด์ƒ 50๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค. nums์˜ ๊ฐ ์›์†Œ๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ, ์ค‘๋ณต๋œ ์ˆซ์ž๊ฐ€ ๋“ค์–ด์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ num result [1,2,3,4] 1 [1,2,7,6,4] 4 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 [1,2,4]๋ฅผ ์ด์šฉํ•ด์„œ 7์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 [1,2,4]๋ฅผ ์ด์šฉํ•ด์„œ 7์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [1,4,6]์„ ์ด์šฉํ•ด..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Lv.2] ์ˆœ์œ„ ๊ฒ€์ƒ‰ | ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ | 2021 KAKAO BLIND RECRUITMENT

๋ฌธ์ œ ์„ค๋ช… [๋ณธ ๋ฌธ์ œ๋Š” ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ ๊ฐ๊ฐ ์ ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.] ์นด์นด์˜ค๋Š” ํ•˜๋ฐ˜๊ธฐ ๊ฒฝ๋ ฅ ๊ฐœ๋ฐœ์ž ๊ณต๊ฐœ์ฑ„์šฉ์„ ์ง„ํ–‰ ์ค‘์— ์žˆ์œผ๋ฉฐ ํ˜„์žฌ ์ง€์›์„œ ์ ‘์ˆ˜์™€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ฑ„์šฉ์—์„œ ์ง€์›์ž๋Š” ์ง€์›์„œ ์ž‘์„ฑ ์‹œ ์•„๋ž˜์™€ ๊ฐ™์ด 4๊ฐ€์ง€ ํ•ญ๋ชฉ์„ ๋ฐ˜๋“œ์‹œ ์„ ํƒํ•˜๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ฐธ์—ฌ ๊ฐœ๋ฐœ์–ธ์–ด ํ•ญ๋ชฉ์— cpp, java, python ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€์› ์ง๊ตฐ ํ•ญ๋ชฉ์— backend์™€ frontend ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€์› ๊ฒฝ๋ ฅ๊ตฌ๋ถ„ ํ•ญ๋ชฉ์— junior์™€ senior ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํ˜ธํ•˜๋Š” ์†Œ์šธํ‘ธ๋“œ๋กœ chicken๊ณผ pizza ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์žฌ์˜์ž…ํŒ€์— ๊ทผ๋ฌดํ•˜๊ณ  ์žˆ๋Š” ๋‹ˆ๋‹ˆ์ฆˆ๋Š” ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ฑ„์šฉ์— ์ฐธ์—ฌํ•œ ๊ฐœ๋ฐœํŒ€๋“ค์— ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ง€์›์ž..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Lv.2] 124๋‚˜๋ผ์˜ ์ˆซ์ž | ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ | <์—ฐ์Šต๋ฌธ์ œ>

๋ฌธ์ œ ์„ค๋ช… 124 ๋‚˜๋ผ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—์„œ๋Š” 10์ง„๋ฒ•์ด ์•„๋‹Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž์‹ ๋“ค๋งŒ์˜ ๊ทœ์น™์œผ๋กœ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—๋Š” ์ž์—ฐ์ˆ˜๋งŒ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 124 ๋‚˜๋ผ์—๋Š” ๋ชจ๋“  ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ 1, 2, 4๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 124 ๋‚˜๋ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. 10์ง„๋ฒ•124 ๋‚˜๋ผ10์ง„๋ฒ•124 ๋‚˜๋ผ 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n์„ 124 ๋‚˜๋ผ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ˆซ์ž๋กœ ๋ฐ”๊พผ ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ n์€ 500,000,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆnresult 1 1 2 2 3 4 4 11 ๋‚ด๊ฐ€ ํ‘ผ ํ’€์ด // ๋‚ด ํ’€์ด functio..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Lv.2] [3์ฐจ]n์ง„์ˆ˜๊ฒŒ์ž„ - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ <2018 KAKAO BLIND>

๋ฌธ์ œ ์„ค๋ช… ํŠœ๋ธŒ๊ฐ€ ํ™œ๋™ํ•˜๋Š” ์ฝ”๋”ฉ ๋™์•„๋ฆฌ์—์„œ๋Š” ์ „ํ†ต์ ์œผ๋กœ ํ•ด์˜ค๋Š” ๊ฒŒ์ž„์ด ์žˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ๋‘ฅ๊ธ€๊ฒŒ ์•‰์•„์„œ ์ˆซ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์ฐจ๋ก€๋Œ€๋กœ ๋งํ•˜๋Š” ๊ฒŒ์ž„์ธ๋ฐ, ๊ทœ์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์ˆซ์ž๋ฅผ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ฐจ๋ก€๋Œ€๋กœ ๋งํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 0, ๋‘ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 1, … ์—ด ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 9๋ฅผ ๋งํ•œ๋‹ค. 10 ์ด์ƒ์˜ ์ˆซ์ž๋ถ€ํ„ฐ๋Š” ํ•œ ์ž๋ฆฌ์”ฉ ๋Š์–ด์„œ ๋งํ•œ๋‹ค. ์ฆ‰ ์—ดํ•œ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ 10์˜ ์ฒซ ์ž๋ฆฌ์ธ 1, ์—ด๋‘ ๋ฒˆ์งธ ์‚ฌ๋žŒ์€ ๋‘˜์งธ ์ž๋ฆฌ์ธ 0์„ ๋งํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, … ์ˆœ์œผ๋กœ ์ˆซ์ž๋ฅผ ๋งํ•˜๋ฉด ๋œ๋‹ค. ํ•œํŽธ ์ฝ”๋”ฉ ๋™์•„๋ฆฌ ์ผ์›๋“ค์€ ์ปดํ“จํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์‚ฌ๋žŒ๋‹ต๊ฒŒ ์ด์ง„์ˆ˜๋กœ ์ด ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•˜๊ธฐ๋„ ํ•˜๋Š”๋ฐ, ์ด ๊ฒฝ์šฐ์—๋Š” 0, ..