[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ‘์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•’ ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/86491 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr1. ๋‚˜์˜ ์ฝ”๋“œfunction solution(sizes) { var arr1 = []; var arr2 = []; for(let card of sizes) { if(card[0] arr1 ๋ฐฐ์—ด๊ณผ arr2 ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.sizes ๋ฐฐ์—ด์„ ์ˆœํšŒํ•œ๋‹ค.๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ ์„ธ๋กœ ๊ธธ์ด๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๋‘˜์„ ๋’ค๋ฐ”๊พผ๋‹ค.arr1์— ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ, arr2์— ์„ธ๋กœ ๊ธธ์ด๋ฅผ pushํ•œ๋‹ค..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ‘K๋ฒˆ์งธ์ˆ˜’ ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/42748 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr1. ๋‚˜์˜ ํ’€์ดfunction solution(array, commands) { var answer = []; for(let arr of commands) { var newArr = []; for(let i = arr[0]; i a-b); answer.push(newArr[arr[2] - 1]); } ..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ‘๊ตฌ๋ช…๋ณดํŠธ’ ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/428851. ๋‚˜์˜ ํ’€์ดfunction solution(people, limit) { var sortedPeople = people.sort((a,b) => a-b); let cnt = 0; var i = 0; var j = sortedPeople.length - 1; while(i people ๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ, sortedPeople ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•œ๋‹ค.ํฌ์ธํ„ฐ ๋‘ ๊ฐœ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. (i๋Š” 0, j๋Š” sortedPeople์˜ ๋งจ ๋์—)i๊ฐ€ j๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„ ๋™์•ˆ ๊ณ„์† ์ˆœํšŒ๋ฅผ ํ•˜๋ฉด์„œ๋ฐฐ์—ด์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’๊ณผ ์ž‘์€ ๊ฐ’์„ ๋”ํ•œ ๊ฐ’์ด limit๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด i..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ‘๊ธฐ๋Šฅ๊ฐœ๋ฐœ’ ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/425861. ๋‚˜์˜ ํ’€์ด์ฒ˜์Œ์— ๋ฌธ์ œ๋ฅผ ์ฝ์„ ๋•Œ๋Š” ์กฐ๊ธˆ ๋ง‰๋ง‰ํ–ˆ์—ˆ๋‹ค. ๋„๋Œ€์ฒด ๋ญ˜ ํ•˜๋ผ๋Š”๊ฑฐ์ง€?progressses ๋ฐฐ์—ด๊ณผ speeds ๋ฐฐ์—ด์ด ์žˆ๋‹ค.๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜๋Š” ์žˆ๋Š”๋ฐ๊ทธ๋Ÿฌ๋ฉด ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ๊ฐ™์ด ๋ฐฐํฌ๋œ๋‹ค.๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์–ด๋–ป๊ฒŒ ํ–ˆ๋ƒ๋ฉด,100์—์„œ progesses๋ฅผ ๋บ€ left_progresses ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.left_progresses๋ฅผ speeds๋กœ ๋‚˜๋ˆˆ ๊ฐ’(์ด ๋•Œ ์˜ฌ๋ฆผ์„ ํ•ด์•ผํ•œ๋‹ค(ceil ์‚ฌ์šฉ))์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— push ํ•œ๋‹ค.๊ฐ’๋“ค์ด ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด(days)๋ฅผ ์ˆœํšŒํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” index์˜ ๊ฐ’์„ ๋ณ€์ˆ˜ standar..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ‘๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด’ ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/12906 1. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋Š” ์Šคํƒ์ด ์—†๋‚˜?์Šคํƒ์„ ํ™œ์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฌธ์ œ ๊ฐ™์•˜๊ณ , ๋งŒ์•ฝ C++๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค๋ฉด STL stack์„ ํ™œ์šฉํ•ด์„œ ๊ธˆ๋ฐฉ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•˜๋‹ค.ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋„ ์Šคํƒ์ด ์žˆ๋‚˜? ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๋ฐฐ์—ด์„ ํ™œ์šฉํ•ด์„œ ์Šคํƒ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์ด ๋งŽ์ด ๋‚˜์™”๋‹ค. ๊ทผ๋ฐ ๊ทธ๋Ÿฌ์ง€๋ง๊ณ  ๋ฐ”๋กœ ๋ฐฐ์—ด์„ ์“ฐ๋ฉด ๋  ๊ฒƒ ๊ฐ™์•„ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ–ˆ๋‹ค.2. ํ•˜์ง€๋งŒ ์ž๋ฐ”์Šคํฌ๋žฉํŠธ ๋ฐฐ์—ด์—๋Š” top์ด ์—†๋‹ค.ํ•˜์ง€๋งŒ ๋ฌธ์ œ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋‚ด๊ฐ€ ๋ฌด์˜์‹์ ์œผ๋กœ top์„ ํ™œ์šฉํ–ˆ๋Š”๋ฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐฐ์—ด์— .top์„ ๋ถ™์—ฌ๋ดค์ž ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.top ๋Œ€์‹  ‘๋ฐฐ์—ด.length - 1’์„ ๋„ฃ์œผ๋ฉด ์–ด..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] '์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜' ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
๋ฌธ์ œ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/425761. ๋‹ต์€ ๋งž์•˜์ง€๋งŒ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์— ํ†ต๊ณผ๋ฅผ ๋ชปํ–ˆ๋‹ค์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ ๋‹จ์ˆœํžˆ participant์— ์žˆ๋Š” ์ด๋ฆ„์ด completion์— ์—†์œผ๋ฉด ๊ทธ ์ด๋ฆ„์„ return ํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ์ฐธ๊ฐ€์ž ์ค‘์— ๋™๋ช…์ด์ธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ฐํ•ด์•ผ ํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ participant์— ํ•ด๋‹น ์ด๋ฆ„์ด 2๊ฐœ ์ด์ƒ ์กด์žฌํ•˜๊ณ , completion ๋ฐฐ์—ด์— ์กด์žฌํ•˜๋Š” ํ•ด๋‹น ์ด๋ฆ„์˜ ๊ฐœ์ˆ˜๊ฐ€ participant ๋ฐฐ์—ด์— ์กด์žฌํ•˜๋Š” ํ•ด๋‹น ์ด๋ฆ„์˜ ๊ฐœ์ˆ˜๋ณด๋‹ค ์ ๋‹ค๋ฉด ํ•ด๋‹น ์ด๋ฆ„์„ return ํ–ˆ๋‹ค.function solution(participant, completion) { for (var i = 0; i pa..
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ] ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์ž…๋ฌธ Day 1,2,3 ํ’€์–ด๋ณด๊ธฐ
ยท
Algorithm/Programmers(JavaScript)
์›น ํ”„๋ก ํŠธ์—”๋“œ ๊ณต๋ถ€๋ฅผ ๊ณ„์†ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์จ๋ณด๋ฉฐ ์ต์ˆ™ํ•ด์ง€๋Š” ์—ฐ์Šต์„ ๊ณ„์†ํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ๋Ÿฐ ์™€์ค‘์— ์ •์ž‘ ์›น ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ๊ฐ€ ๋˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ๊ณต๋ถ€๋ฅผ ์†Œํ™€ํžˆ ํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ์•„์‰ฌ์›€์„ ๊ณ„์† ๋А๋ผ๊ณ  ์žˆ์—ˆ๋‹ค. ๋ฌธ๋ฒ•์„ ์ตํžˆ๊ธฐ์—๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋“ค์„ ํ’€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ๋ฐฑ์ค€์—์„œ ํ’€์—ˆ์ง€๋งŒ ๋ฐฑ์ค€์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์“ธ๋ ค๋ฉด ์กฐ๊ธˆ ๋ณต์žกํ•ด์„œ ์ด๋ฒˆ์—” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž˜ ์ง€์›ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค๋Š” ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ๋ฅผ ์ž…๋ฌธ ๋ฌธ์ œ, ๊ธฐ์ดˆ ๋ฌธ์ œ, ๋ชจ๋“  ๋ฌธ์ œ๋กœ ์นดํ…Œ๊ณ ๋ฆฌํ™” ํ–ˆ๋Š”๋ฐ, ์ผ๋‹จ์€ ์ž…๋ฌธ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ ๋„˜์–ด๊ฐ€๋„ ๋˜๊ฒ ๋‹ค์‹ถ์œผ๋ฉด ๊ธฐ์ดˆ ๋ฌธ์ œ๋กœ ๋„˜์–ด๊ฐˆ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•˜๋ฃจ์— 4๋ฌธ์ œ์”ฉ ์ผ์ผ ๋„์ „ ๊ณผ์ œ ๋ฌธ์ œ๋“ค์„ ..