๋ฐ˜์‘ํ˜•

๐Ÿ“ฆ Changgo 316

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] n^2 ๋ฐฐ์—ด ์ž๋ฅด๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/87390 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด ์ฒ˜์Œ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜์˜€์œผ๋‚˜ ๋ช‡๋ช‡ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์—์„œ ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค function solution(n, left, right) { let ans = []; for(let i=0; i

[BOJ][C++] ๋ฐฑ์ค€ 2576๋ฒˆ: ํ™€์ˆ˜

https://www.acmicpc.net/problem/2576 2576๋ฒˆ: ํ™€์ˆ˜ 7๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋“ค ์ค‘ ํ™€์ˆ˜์ธ ์ž์—ฐ์ˆ˜๋“ค์„ ๋ชจ๋‘ ๊ณจ๋ผ ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , ๊ณ ๋ฅธ ํ™€์ˆ˜๋“ค ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 7๊ฐœ์˜ ์ž์—ฐ์ˆ˜ 12, 77, 38, 41, 53, 92, 85๊ฐ€ ์ฃผ์–ด์ง€ www.acmicpc.net #include #include using namespace std; int main() { int n, sum=0, m=100; for(int i=0; i> n; if(n%2 == 1) { m = min(m, n); sum += n; } } if(sum == 0) { cout

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์žˆ์—ˆ๋Š”๋ฐ์š” ์—†์—ˆ์Šต๋‹ˆ๋‹ค

https://school.programmers.co.kr/learn/courses/30/lessons/131701 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด progresses = progresses.map((v, idx) => Math.ceil((100-v)/speeds[idx])); ํ”„๋กœ๊ทธ๋ ˆ์Šค ๋ฐฐ์—ด์„ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋‚ ์˜ ์ˆ˜๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ๋‹ค ์ดํ›„ ์Šคํƒ์„ ์ด์šฉํ•˜์˜€๋‹ค. ์•ž ๊ธฐ๋Šฅ์ด ๋” ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ์•ž ๊ธฐ๋Šฅ๊ณผ ๋™์‹œ์— ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ํ•ด๋‹น ๋ฐฐํฌ์˜ ๊ธฐ๋Šฅ ์ˆ˜๋ฅผ ๋Š˜๋ ค์ฃผ์—ˆ๋‹ค. (ans ๋งˆ์ง€๋ง‰ ์š”์†Œ +1) ์•ž ๊ธฐ๋Šฅ์ด ๋” ๋น ๋ฅด๊ฒŒ ๋๋‚œ๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ๋Šฅ์€ ..

[BOJ][C++] ๋ฐฑ์ค€ 2490๋ฒˆ: ์œท๋†€์ด

https://www.acmicpc.net/problem/2490 2490๋ฒˆ: ์œท๋†€์ด ์šฐ๋ฆฌ๋‚˜๋ผ ๊ณ ์œ ์˜ ์œท๋†€์ด๋Š” ๋„ค ๊ฐœ์˜ ์œท์ง์„ ๋˜์ ธ์„œ ๋ฐฐ(0)์™€ ๋“ฑ(1)์ด ๋‚˜์˜ค๋Š” ์ˆซ์ž๋ฅผ ์„ธ์–ด ๋„, ๊ฐœ, ๊ฑธ, ์œท, ๋ชจ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋„ค ๊ฐœ ์œท์ง์„ ๋˜์ ธ์„œ ๋‚˜์˜จ ๊ฐ ์œท์ง์˜ ๋ฐฐ ํ˜น์€ ๋“ฑ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋„(๋ฐฐ ํ•œ www.acmicpc.net ๋ฌธ์ œ ์šฐ๋ฆฌ๋‚˜๋ผ ๊ณ ์œ ์˜ ์œท๋†€์ด๋Š” ๋„ค ๊ฐœ์˜ ์œท์ง์„ ๋˜์ ธ์„œ ๋ฐฐ(0)์™€ ๋“ฑ(1)์ด ๋‚˜์˜ค๋Š” ์ˆซ์ž๋ฅผ ์„ธ์–ด ๋„, ๊ฐœ, ๊ฑธ, ์œท, ๋ชจ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋„ค ๊ฐœ ์œท์ง์„ ๋˜์ ธ์„œ ๋‚˜์˜จ ๊ฐ ์œท์ง์˜ ๋ฐฐ ํ˜น์€ ๋“ฑ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋„(๋ฐฐ ํ•œ ๊ฐœ, ๋“ฑ ์„ธ ๊ฐœ), ๊ฐœ(๋ฐฐ ๋‘ ๊ฐœ, ๋“ฑ ๋‘ ๊ฐœ), ๊ฑธ(๋ฐฐ ์„ธ ๊ฐœ, ๋“ฑ ํ•œ ๊ฐœ), ์œท(๋ฐฐ ๋„ค ๊ฐœ), ๋ชจ(๋“ฑ ๋„ค ๊ฐœ) ์ค‘ ์–ด๋–ค ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] H-Index

https://school.programmers.co.kr/learn/courses/30/lessons/42747 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ํ’€์ด1 ๋‹ค์Œ์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ฌธ์ œ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•œ ํ’€์ด function solution(citations) { let ans=0; let h = citations.sort((a,b) => b-a)[0]; while(h-- && h>0) { if(citations.filter(v => v>=h).length >= h) { ans = h; break; } } return ans; } ํ…Œ์ผ€ 16๋งŒ ํ‹€..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/76502 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๊ณ  ๋งจ ์•ž ๊ธ€์ž๋ฅผ ๋งจ ๋’ค๋กœ ๋ณด๋‚ด๋Š” ์ž‘์—…์„ ํ•œ๋ฐ”ํ€ด ๋Œ๋ฆฐ๋‹ค 2. ์ƒ์„ฑ๋œ ๋ฌธ์ž์—ด๋งˆ๋‹ค ์˜ณ์€ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ธ์ง€ ํŒ๋‹จ => isRight() ํ•จ์ˆ˜ isRight ํ•จ์ˆ˜์—์„œ๋Š” stack ์—ฐ์‚ฐ์„ ์ด์šฉํ•˜์—ฌ ์˜ณ์€ ๋ฌธ์ž์—ด์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒ๋‹จํ•œ๋‹ค. function isRight(s) { let stack = []; for(let i of s) { if(i === "(" || i === "{" |..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ๊ทค ๊ณ ๋ฅด๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/138476 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(k, tangerine) { var map = new Map(); for(var weight of tangerine) { if(map.has(weight)) { map.set(weight, map.get(weight)+1); } else { map.set(weight, 1); } } var ans = 0; var countArr = [...map].map((pai..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ๋ฉ€๋ฆฌ ๋›ฐ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12914 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(n) { let dp = [0,1,2]; for(let i=3; i

[BOJ][C++] ๋ฐฑ์ค€ 1919๋ฒˆ: ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ

https://www.acmicpc.net/problem/1919 1919๋ฒˆ: ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ ๋‘ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฒ ์ž์˜ ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊พธ์–ด ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ทธ๋Ÿฌํ•œ ๋‘ ๋‹จ์–ด๋ฅผ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด occurs ๋ผ๋Š” ์˜์–ด ๋‹จ์–ด์™€ succor ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ, occurs www.acmicpc.net ๋ฌธ์ œ ๋‘ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฒ ์ž์˜ ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊พธ์–ด ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ทธ๋Ÿฌํ•œ ๋‘ ๋‹จ์–ด๋ฅผ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด occurs ๋ผ๋Š” ์˜์–ด ๋‹จ์–ด์™€ succor ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ, occurs์˜ ๊ฐ ๋ฌธ์ž๋“ค์˜ ์ˆœ์„œ๋ฅผ ์ž˜ ๋ฐ”๊พธ๋ฉด succor์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•œ ํŽธ, dared์™€ bread๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ์ง€ ์•Š๋‹ค. ํ•˜์ง€๋งŒ dared์—์„œ ๋งจ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™

https://school.programmers.co.kr/learn/courses/30/lessons/12980 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ฒ˜์Œ์—๋Š” DP๋กœ ์ ‘๊ทผํ–ˆ์œผ๋‚˜ ํšจ์œจ์„ฑ ํ…Œ์ŠคํŠธ์—์„œ ์ž๊พธ ์‹œ๊ฐ„์ดˆ๊ณผ + ๋Ÿฐํƒ€์ž„์—๋Ÿฌ๊ฐ€ ๋– ์„œ ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•˜์˜€๋‹ค function solution(n) { let ans = 0; while(n>0) { if(n%2 == 0) n /= 2; else { n = Math.floor(n/2); ans++; } } return ans; }

๋ฐ˜์‘ํ˜•