๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/Programmers

(85)
[Javascript/PGS] Lv.2 : ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ https://school.programmers.co.kr/learn/courses/30/lessons/12985 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ2์ฒ˜์Œ์—๋Š” ์ด์ง„ํƒ์ƒ‰,,,? ์œผ๋กœ ํ’€์–ด์•ผ ํ•˜๋‚˜ ์‹ถ์—ˆ๋Š”๋ฐํ›จ์”ฌ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค.2๋ช…์”ฉ ๊ฒฝ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•˜๋ฏ€๋กœ, ๊ทธ๋ƒฅ ๊ณ„์† 2๋กœ ๋‚˜๋ˆ„๊ธฐ๋งŒ ํ•˜๋ฉด ์–ธ์  ๊ฐ€ ๋งŒ๋‚œ๋‹ค๋Š” ๊ฒƒ  ๋‚˜์˜ ํ’€์ดfunction solution(n,a,b){ var answer = 0; // 1,2 -> 1 / 3,4->2 / 5,6->3 / ... while(a!==b){ a = Math.ceil(a/2); b = Math.ceil(..
[Javascript/PGS] Lv.2 : N๊ฐœ์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ https://school.programmers.co.kr/learn/courses/30/lessons/12953 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2.์—ฌ๋Ÿฌ ์ˆ˜์˜ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๊ณ , ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ 2๊ฐœ์”ฉ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜/ํ•จ์ˆ˜๋ช…- ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ = gcd- ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ = lcm ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๊ตฌํ•  ๋• [ a*b/gcd ] !!!!gcd ํ•จ์ˆ˜์—์„œ b๋กœ ๊ณ„์† ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋ฉด์„œ, b๊ฐ€ 0์ผ๋•Œ์˜ a๊ฐ’์ด ์ตœ์†Œ๊ณต์•ฝ์ˆ˜๊ฐ€ ๋œ๋‹ค.  ๋‚˜์˜ ํ’€์ดfunction gcd(a, b){ while(b>0){ let tmp = b; b = ..
[Javascript/PGS] Lv.2 : ๊ทค ๊ณ ๋ฅด๊ธฐ https://school.programmers.co.kr/learn/courses/30/lessons/138476# ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2.์ข…๋ฅ˜ ๊ฐฏ์ˆ˜๋ฅผ ์นด์šดํŒ…ํ•  ๋•Œ ์‹ ๊ฒฝ์จ์•ผํ•  ๋ถ€๋ถ„(๊ฒฝ์šฐ)์ด ์ข€ ์žˆ๊ณ ,sort๋„ ์‹ ๊ฒฝ์จ์ค˜์•ผ ํ•œ๋‹ค ใ…‹.....ใ…‹ JS์˜ sort()๋Š” ๋ฌธ์ž์—ด ๊ธฐ์ค€์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ˆซ์ž๋ฅผ ์ œ๋Œ€๋กœ ๋น„๊ตํ•˜๊ณ  ์ •๋ ฌํ•˜๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ ๋น„๊ต ํ•จ์ˆ˜๋ฅผ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค!!!   ๋‚˜์˜ ํ’€์ดfunction solution(k, tangerine) { var answer = 0; let tmap = new Map(); tangerine.forEach((t)=>{ ..
[Javascript/PGS] Lv.2 : ์˜์–ด ๋๋ง์ž‡๊ธฐ https://school.programmers.co.kr/learn/courses/30/lessons/12981# ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ2.๋‚˜๋ˆ—์…ˆ, ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์„ ์ž˜ ๊ณ ๋ คํ•ด์„œ ์ ์ ˆํ•œ ์‹์„ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค!   ๋‚˜์˜ ํ’€์ดfunction solution(n, words) { var answer = []; let wordset = new Set(); let wordsize = 0; wordset.add(words[0]); let lastword = words[0][words[0].length-1]; for(let i=1; i
[Javascript/PGS] Lv.2 : ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ https://school.programmers.co.kr/learn/courses/30/lessons/12973 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2.๊ทธ๋ƒฅ ๋ฐ˜๋ณต๋ฌธ + substr๋กœ ํ’€์—ˆ๋Š”๋ฐ, ํšจ์œจ์„ฑ์—์„œ ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆผ. ์•„ ๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค! ๋ผ๊ณ  ํŒ๋‹จํ•ด์„œ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ์Šคํƒ์œผ๋กœ ํ‘ธ๋Š”๊ฒŒ ์ตœ๊ณ ์˜ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์•˜๋‹ค.substr์€ ๊ฐ๊ฐ O(N)์ด์ง€๋งŒ, push/pop์€ ๊ฐ๊ฐ O(1)์ด๋ฏ€๋กœ ๊ฒฐ๊ตญ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋ผ ๋ฐฐ์—ด๋กœ ํ•ด๊ฒฐํ•˜๋Š”๊ฒŒ ๋งž์•˜๋‹ค ^-^ ๋‚˜์˜ ํ’€์ดfunction solution(s){ var answer = 0; if(s.length
[Javascript/PGS] Lv.2 : ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™ https://school.programmers.co.kr/learn/courses/30/lessons/12980 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ2. Summer/Winter Coding(~2018)DP์ธ ์ค„ ์•Œ์•˜๋Š”๋ฐ, 2๋กœ ๋‚˜๋ˆ„์–ด์ฃผ๋ฉด์„œ 2์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹๋•Œ๋งŒ ์นด์šดํŠธ๋ฅผ ํ•ด์ฃผ๋ฉด ๋˜๋Š”๊ฑฐ์˜€๋‹ค.๋•Œ๋กœ๋Š”(์•„์ฃผ ๊ฐ€๋”์”ฉ์€) ๋‹จ์ˆœํ•œ๊ฒŒ ๋‹ต์ด๋‹ค...!  ๋‚˜์˜ ํ’€์ดfunction solution(n){ var ans = 0; // 5 -> (+1), 4/2=2, 1/1=1 (+1) -> 2 while(n>1){ if(n%2===0) n/=2; else ..
[Javascript/PGS] Lv.2 : ์„์œ  ์‹œ์ถ” (PCCP ๊ธฐ์ถœ๋ฌธ์ œ 2๋ฒˆ) https://school.programmers.co.kr/learn/courses/30/lessons/250136 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ 2.BFS ์‘์šฉ ๋ฌธ์ œ์ด๋‹ค๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰์œผ๋กœ ์„์œ ์นธ ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๊ณ , ์–ด๋–ค ์—ด์—์„œ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋Š”๊ฑด์ง€ Map์— ๋ˆ„์ ํ•œ๋‹ค!์ฝ”๋“œ๊ฐ€ ๊ธธ๊ธด ํ–ˆ์ง€๋งŒ ํฌ๊ฒŒ ์–ด๋ ค์šด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐ๐Ÿค“  ๋‚˜์˜ ํ’€์ดlet Land;let n; let m;let visited;let dx = [0,1,0,-1];let dy = [-1,0,1,0];let columnMap = new Map();const saveColumns=(columns, count)=>{ ..
[Javascript/PGS] Lv.2 : ํผ์ฆ ๊ฒŒ์ž„ ์ฑŒ๋ฆฐ์ง€ (PCCP ๊ธฐ์ถœ๋ฌธ์ œ 2๋ฒˆ) https://school.programmers.co.kr/learn/courses/30/lessons/340212# ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.krํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ ˆ๋ฒจ2.์ •๋‹ต๋ฅ  42%์ธ PCCP ๊ธฐ์ถœ์ด๋‹ค๋‹ค์Œ ๋‹ฌ์— PCCP ๋„์ „ํ•ด๋ณผ๊นŒ ํ•ด์„œ ๊ธฐ์ถœ์„ ํ’€์–ด๋ณด์•˜๋‹ค! ์ฒ˜์Œ์— limit ๋ฒ”์œ„๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ธธ๋ž˜, ์ด๊ฑฐ ์„ค๋งˆ ์ด๋ถ„ํƒ์ƒ‰...?! ์ด๋Ÿฌ๋ฉด์„œ ํ’€์—ˆ๋Š”๋ฐ์—ญ์‹œ๋‚˜ ์ด์ง„ ํƒ์ƒ‰ ์œ ํ˜•์˜ ๋ฌธ์ œ๊ฐ€ ๋งž์•˜๋‹ค.์ž์ฃผ ํ‘ธ๋‹ˆ๊นŒ ์Šฌ์Šฌ ๋ฌธ์ œ ์œ ํ˜•์ด ๋ˆˆ์— ๋ณด์ด๋Š”๋“ฏ ๐Ÿ˜‡ while ์ข…๋ฃŒ ์กฐ๊ฑด, left / right ๊ฐฑ์‹ , answer ๊ฐฑ์‹  ๋“ฑ ์‹ ๊ฒฝ์จ์•ผํ•  ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค!!! ํŠนํžˆ ๋‚œ์ด๋„, ์†Œ์š” ์‹œ๊ฐ„์€ ๋ชจ๋‘ ์–‘์˜ ์ •์ˆ˜๋ฉฐ, ์ˆ™๋ จ๋„๋„ ์–‘์˜..

728x90
๋ฐ˜์‘ํ˜•