๋ฐ˜์‘ํ˜•

๐Ÿ“ฆ Changgo 316

[BOJ][C++] ๋ฐฑ์ค€ 113289๋ฒˆ: Strfry

https://www.acmicpc.net/problem/11328 11328๋ฒˆ: Strfry C ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฌธ์ž์—ด(string)์€ nativeํ•œ ์ž๋ฃŒํ˜•์ด ์•„๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋ฌธ์ž์—ด์€ ๊ทธ์ €, ๋ฌธ์ž์—ด์˜ ๋์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋ง๋‹จ์˜ NULL์ด ์‚ฌ์šฉ๋œ, ๋ฌธ์ž๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ผ ๋ฟ์ด๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋ž˜ www.acmicpc.net ๋ฌธ์ œ C ์–ธ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋ฌธ์ž์—ด(string)์€ nativeํ•œ ์ž๋ฃŒํ˜•์ด ์•„๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋ฌธ์ž์—ด์€ ๊ทธ์ €, ๋ฌธ์ž์—ด์˜ ๋์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ๋ง๋‹จ์˜ NULL์ด ์‚ฌ์šฉ๋œ, ๋ฌธ์ž๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ผ ๋ฟ์ด๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, C ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค๋ฃจ๋Š” ๋ฐ์— ๋งค์šฐ ์œ ์šฉํ•œ ํ•จ์ˆ˜๋“ค์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค : ๊ทธ๋“ค ์ค‘์—๋Š” strcpy, ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์˜ˆ์ƒ ๋Œ€์ง„ํ‘œ

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

[BOJ][C++] ๋ฐฑ์ค€ 13300๋ฒˆ: ๋ฐฉ ๋ฐฐ์ •

https://www.acmicpc.net/problem/13300 13300๋ฒˆ: ๋ฐฉ ๋ฐฐ์ • ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ์ˆ˜ํ•™์—ฌํ–‰์— ์ฐธ๊ฐ€ํ•˜๋Š” ํ•™์ƒ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(1 ≤ N ≤ 1,000)๊ณผ ํ•œ ๋ฐฉ์— ๋ฐฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ธ์› ์ˆ˜ K(1 < K ≤ 1,000)๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๋ถ„๋ฆฌ๋˜์–ด www.acmicpc.net ๋ฌธ์ œ ์ •๋ณด ์ดˆ๋“ฑํ•™๊ต์—์„œ๋Š” ๋‹จ์ฒด๋กœ 2๋ฐ• 3์ผ ์ˆ˜ํ•™์—ฌํ–‰์„ ๊ฐ€๊ธฐ๋กœ ํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ•™๋…„์ด ๊ฐ™์€ ์žฅ์†Œ๋กœ ์ˆ˜ํ•™์—ฌํ–‰์„ ๊ฐ€๋ ค๊ณ  ํ•˜๋Š”๋ฐ 1ํ•™๋…„๋ถ€ํ„ฐ 6ํ•™๋…„๊นŒ์ง€ ํ•™์ƒ๋“ค์ด ๋ฌต์„ ๋ฐฉ์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋‚จํ•™์ƒ์€ ๋‚จํ•™์ƒ๋ผ๋ฆฌ, ์—ฌํ•™์ƒ์€ ์—ฌํ•™์ƒ๋ผ๋ฆฌ ๋ฐฉ์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ํ•œ ๋ฐฉ์—๋Š” ๊ฐ™์€ ํ•™๋…„์˜ ํ•™์ƒ๋“ค์„ ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌผ๋ก  ํ•œ ๋ฐฉ์— ํ•œ ๋ช…๋งŒ ๋ฐฐ์ •ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•œ ๋ฐฉ์— ๋ฐฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ธ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ๊ตฌ๋ช…๋ณดํŠธ

https://school.programmers.co.kr/learn/courses/30/lessons/42885 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์œ ํ˜•์€ ๊ทธ๋ฆฌ๋””๋กœ ๋˜์–ด์žˆ์ง€๋งŒ, ์†๋„๊ฐ€ ๋А๋ฆฐํŽธ์ธ JS ํŠน์„ฑ์ƒ ํˆฌํฌ์ธํ„ฐ๋ฅผ ๋ฉ”์ธ์œผ๋กœ ์ด์šฉํ–ˆ๋‹ค. start์™€ end๋Š” ๊ฐ๊ฐ ํ˜„์žฌ ๋‚จ์•„์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์ค‘ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ๊ณผ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ค€ ๋‹ค์Œ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋ถ€ํ„ฐ ๋ณดํŠธ๋ฅผ ํƒœ์šฐ๋Š”๋ฐ, ์ด๋•Œ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ์„ ๊ฐ™์ด ํƒœ์šธ ์ˆ˜ ์žˆ๋‹ค๋ฉด ํƒœ์šฐ๊ณ  (๊ฐ€๋ฒผ์šด์‚ฌ๋žŒ ๋ฌด๊ฑฐ์šด์‚ฌ๋žŒ ํ•œ๋ช…์”ฉ ์‚ฌ๋ผ์ง, start++; end--;) ์•ˆ๋˜๋ฉด ๊ทธ๋ƒฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ๋งŒ ํ•œ๋ช… ๋ณด..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์นดํŽซ

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][Javascript / JS] ์˜์–ด ๋๋ง์ž‡๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12981 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์•ž์— ์ค‘๋ณต๋œ ๋‹จ์–ด๊ฐ€ ๋‚˜์™”๋Š”์ง€๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๊ณผ์ •์„ ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๋น„๊ต์  ๋ณต์žกํ–ˆ๋Š”๋ฐ, slice๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ˜„์žฌ ์ธ๋ฑ์Šค๊นŒ์ง€ ๋ฐฐ์—ด์„ ์ž˜๋ผ๋‚ด๊ณ , find๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฐฐ์—ด๋‚ด์— ํ˜„์žฌ ๋‹จ์–ด๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์—ˆ๋‹ค. ์ „ ๋‹จ์–ด ๋๊ธ€์ž์™€ ํ˜„ ๋‹จ์–ด ์ฒซ๊ธ€์ž ๋น„๊ต๋Š” ๋ฌธ์ž์—ด์—์„œ ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋œ๋‹ค. function solution(n, words) { for(let i=1; i word === cur) !..

[BOJ][C++] ๋ฐฑ์ค€ 1676๋ฒˆ: ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜

https://www.acmicpc.net/problem/1676 1676๋ฒˆ: ํŒฉํ† ๋ฆฌ์–ผ 0์˜ ๊ฐœ์ˆ˜ N!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. www.acmicpc.net ๋ฌธ์ œ N!์—์„œ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฒ˜์Œ 0์ด ์•„๋‹Œ ์ˆซ์ž๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. (0 ≤ N ≤ 500) ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ตฌํ•œ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ํ’€์ด 1์—์„œ n๊นŒ์ง€ ์ˆ˜๋“ค์˜ 5์˜ ์ธ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค ์›๋ž˜๋Š” ์ธ์ˆ˜๊ฐ€ 2์™€ 5์ผ๋•Œ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ฐ๊ฐ ๊ตฌํ•ด์„œ ๋” ์ ์€ ๊ฐฏ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋˜์ง€๋งŒ, ์ ˆ๋Œ€์ ์œผ๋กœ ์ธ์ˆ˜ 2 ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ธ์ˆ˜ 5์˜ ๊ฐฏ์ˆ˜๋ณด๋‹ค ๋งŽ์œผ๋ฏ€๋กœ ์ธ์ˆ˜ 5์˜ ๊ฐฏ์ˆ˜๋งŒ ๋ฆฌํ„ดํ•œ๋‹ค ์ฐธ๊ณ ๋กœ 95%์—์„œ ํ‹€๋ฆฌ๋ฉด n=0์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์ž 0!..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12973 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr function solution(s) { let stack = []; s.split("").forEach(v => { if(stack[stack.length-1] === v) { stack.pop(); } else { stack.push(v); } }); if(stack.length === 0) return 1; return 0; }

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค][JS / Javascript] ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜

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

[BOJ][C++] ๋ฐฑ์ค€ 9465๋ฒˆ: ์Šคํ‹ฐ์ปค

https://www.acmicpc.net/problem/9465 9465๋ฒˆ: ์Šคํ‹ฐ์ปค ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” n (1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ๋‘ ์ค„์—๋Š” n๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ •์ˆ˜๋Š” ๊ทธ ์œ„์น˜์— ํ•ด๋‹นํ•˜๋Š” ์Šคํ‹ฐ์ปค์˜ www.acmicpc.net ๋ฌธ์ œ ์ƒ๊ทผ์ด์˜ ์—ฌ๋™์ƒ ์ƒ๋ƒฅ์ด๋Š” ๋ฌธ๋ฐฉ๊ตฌ์—์„œ ์Šคํ‹ฐ์ปค 2n๊ฐœ๋ฅผ ๊ตฌ๋งคํ–ˆ๋‹ค. ์Šคํ‹ฐ์ปค๋Š” ๊ทธ๋ฆผ (a)์™€ ๊ฐ™์ด 2ํ–‰ n์—ด๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‹ค. ์ƒ๋ƒฅ์ด๋Š” ์Šคํ‹ฐ์ปค๋ฅผ ์ด์šฉํ•ด ์ฑ…์ƒ์„ ๊พธ๋ฏธ๋ ค๊ณ  ํ•œ๋‹ค. ์ƒ๋ƒฅ์ด๊ฐ€ ๊ตฌ๋งคํ•œ ์Šคํ‹ฐ์ปค์˜ ํ’ˆ์งˆ์€ ๋งค์šฐ ์ข‹์ง€ ์•Š๋‹ค. ์Šคํ‹ฐ์ปค ํ•œ ์žฅ์„ ๋–ผ๋ฉด, ๊ทธ ์Šคํ‹ฐ์ปค์™€ ๋ณ€์„ ๊ณต์œ ํ•˜๋Š” ์Šคํ‹ฐ์ปค๋Š” ๋ชจ๋‘ ์ฐข์–ด์ ธ์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ๋—€ ์Šคํ‹ฐ์ปค์˜ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ, ์œ„, ์•„๋ž˜์— ์žˆ๋Š” ์Šคํ‹ฐ์ปค๋Š” ์‚ฌ์šฉํ•  ..

๋ฐ˜์‘ํ˜•