๐Ÿ–ฅ๏ธ Study Note/Coding Test

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜(C++)

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/131701 ๋ฌธ์ œ ์„ค๋ช… ์ฒ ํ˜ธ๋Š” ์ˆ˜์—ด์„ ๊ฐ€์ง€๊ณ  ๋†€๊ธฐ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์–ด๋Š ๋‚  ์ฒ ํ˜ธ๋Š” ์–ด๋–ค ์ž์—ฐ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ์›ํ˜• ์ˆ˜์—ด์˜ ์—ฐ์†ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆ˜๊ฐ€ ๋ชจ๋‘ ๋ช‡ ๊ฐ€์ง€์ธ์ง€ ์•Œ์•„๋ณด๊ณ  ์‹ถ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์›ํ˜• ์ˆ˜์—ด์ด๋ž€ ์ผ๋ฐ˜์ ์ธ ์ˆ˜์—ด์—์„œ ์ฒ˜์Œ๊ณผ ๋์ด ์—ฐ๊ฒฐ๋œ ํ˜•ํƒœ์˜ ์ˆ˜์—ด์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ˆ˜์—ด [7, 9, 1, 1, 4] ๋กœ ์›ํ˜• ์ˆ˜์—ด์„ ๋งŒ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์›ํ˜• ์ˆ˜์—ด์€ ์ฒ˜์Œ๊ณผ ๋์ด ์—ฐ๊ฒฐ๋˜์–ด ๋Š๊ธฐ๋Š” ๋ถ€๋ถ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์—ฐ์†ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด๋„ ์ผ๋ฐ˜์ ์ธ ์ˆ˜์—ด๋ณด๋‹ค ๋งŽ์•„์ง‘๋‹ˆ๋‹ค. ์›ํ˜• ์ˆ˜์—ด์˜ ๋ชจ๋“  ์›์†Œ elements๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์›ํ˜• ์ˆ˜์—ด์˜ ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ re..

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.3 -ํ•˜๋…ธ์ด์˜ ํƒ‘(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/12946 ๋ฌธ์ œ ์„ค๋ช… ํ•˜๋…ธ์ด ํƒ‘(Tower of Hanoi)์€ ํผ์ฆ์˜ ์ผ์ข…์ž…๋‹ˆ๋‹ค. ์„ธ ๊ฐœ์˜ ๊ธฐ๋‘ฅ๊ณผ ์ด ๊ธฐ๋™์— ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๊ฐ€ ๋‹ค์–‘ํ•œ ์›ํŒ๋“ค์ด ์žˆ๊ณ , ํผ์ฆ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—๋Š” ํ•œ ๊ธฐ๋‘ฅ์— ์›ํŒ๋“ค์ด ์ž‘์€ ๊ฒƒ์ด ์œ„์— ์žˆ๋„๋ก ์ˆœ์„œ๋Œ€๋กœ ์Œ“์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ž„์˜ ๋ชฉ์ ์€ ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๋ฉด์„œ, ํ•œ ๊ธฐ๋‘ฅ์— ๊ฝ‚ํžŒ ์›ํŒ๋“ค์„ ๊ทธ ์ˆœ์„œ ๊ทธ๋Œ€๋กœ ๋‹ค๋ฅธ ๊ธฐ๋‘ฅ์œผ๋กœ ์˜ฎ๊ฒจ์„œ ๋‹ค์‹œ ์Œ“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์›ํŒ๋งŒ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฐ ์›ํŒ์ด ์ž‘์€ ์›ํŒ ์œ„์— ์žˆ์–ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ํ•˜๋…ธ์ด ํƒ‘์˜ ์„ธ ๊ฐœ์˜ ๊ธฐ๋‘ฅ์„ ์™ผ์ชฝ ๋ถ€ํ„ฐ 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ์ด๋ผ๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ์—๋Š” n๊ฐœ์˜ ์›ํŒ์ด ์žˆ๊ณ  ์ด n๊ฐœ์˜ ์›ํŒ์„ 3๋ฒˆ ์›ํŒ์œผ๋กœ ์ตœ..

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์บ์‹œ(C++)

    ๋ฌธ์ œ ์„ค๋ช… ์ง€๋„๊ฐœ๋ฐœํŒ€์—์„œ ๊ทผ๋ฌดํ•˜๋Š” ์ œ์ด์ง€๋Š” ์ง€๋„์—์„œ ๋„์‹œ ์ด๋ฆ„์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ํ•ด๋‹น ๋„์‹œ์™€ ๊ด€๋ จ๋œ ๋ง›์ง‘ ๊ฒŒ์‹œ๋ฌผ๋“ค์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฝ์–ด ๋ณด์—ฌ์ฃผ๋Š” ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ํ…Œ์ŠคํŒ… ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” ์–ดํ”ผ์น˜๋Š” ์„œ๋น„์Šค๋ฅผ ์˜คํ”ˆํ•˜๊ธฐ ์ „ ๊ฐ ๋กœ์ง์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ์ธก์ •์„ ์ˆ˜ํ–‰ํ•˜์˜€๋Š”๋ฐ, ์ œ์ด์ง€๊ฐ€ ์ž‘์„ฑํ•œ ๋ถ€๋ถ„ ์ค‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฒŒ์‹œ๋ฌผ์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ถ€๋ถ„์˜ ์‹คํ–‰์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์–ดํ”ผ์น˜๋Š” ์ œ์ด์ง€์—๊ฒŒ ํ•ด๋‹น ๋กœ์ง์„ ๊ฐœ์„ ํ•˜๋ผ๊ณ  ๋‹ฆ๋‹ฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜์˜€๊ณ , ์ œ์ด์ง€๋Š” DB ์บ์‹œ๋ฅผ ์ ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์ง€๋งŒ ์บ์‹œ ํฌ๊ธฐ๋ฅผ ์–ผ๋งˆ๋กœ ํ•ด์•ผ ํšจ์œจ์ ์ธ์ง€ ๋ชฐ๋ผ ๋‚œ๊ฐํ•œ ์ƒํ™ฉ์ด๋‹ค. ์–ดํ”ผ์น˜์—๊ฒŒ ์‹œ๋‹ฌ๋ฆฌ๋Š” ์ œ์ด์ง€๋ฅผ ๋„์™€, DB ์บ์‹œ๋ฅผ ์ ์šฉํ•  ๋•Œ ์บ์‹œ ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ์‹คํ–‰์‹œ๊ฐ„ ์ธก์ • ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ํ˜•์‹ ์บ์‹œ ํฌ..

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ํŠœํ”Œ(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/64065 ๋ฌธ์ œ ์„ค๋ช… ์…€์ˆ˜์žˆ๋Š” ์ˆ˜๋Ÿ‰์˜ ์ˆœ์„œ์žˆ๋Š” ์—ด๊ฑฐ ๋˜๋Š” ์–ด๋–ค ์ˆœ์„œ๋ฅผ ๋”ฐ๋ฅด๋Š” ์š”์†Œ๋“ค์˜ ๋ชจ์Œ์„ ํŠœํ”Œ(tuple)์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. n๊ฐœ์˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ํŠœํ”Œ์„ n-ํŠœํ”Œ(n-tuple)์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (a1, a2, a3, ..., an) ํŠœํ”Œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ฑ์งˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘๋ณต๋œ ์›์†Œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ex : (2, 3, 1, 2) ์›์†Œ์— ์ •ํ•ด์ง„ ์ˆœ์„œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์›์†Œ์˜ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅด๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ ํŠœํ”Œ์ž…๋‹ˆ๋‹ค. ex : (1, 2, 3) ≠ (1, 3, 2) ํŠœํ”Œ์˜ ์›์†Œ ๊ฐœ์ˆ˜๋Š” ์œ ํ•œํ•ฉ๋‹ˆ๋‹ค. ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ n๊ฐœ์ด๊ณ , ์ค‘๋ณต๋˜๋Š” ์›์†Œ๊ฐ€ ์—†๋Š” ํŠœํ”Œ (a1, a2, a3, ....

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]level.2 - ์  ์ฐ๊ธฐ(C++)

    https://school.programmers.co.kr/learn/courses/30/lessons/140107 ๋ฌธ์ œ ์„ค๋ช… ์ขŒํ‘œํ‰๋ฉด์„ ์ข‹์•„ํ•˜๋Š” ์ง„์ˆ˜๋Š” x์ถ•๊ณผ y์ถ•์ด ์ง๊ตํ•˜๋Š” 2์ฐจ์› ์ขŒํ‘œํ‰๋ฉด์— ์ ์„ ์ฐ์œผ๋ฉด์„œ ๋†€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„์ˆ˜๋Š” ๋‘ ์–‘์˜ ์ •์ˆ˜ k, d๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ ์„ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์›์ (0, 0)์œผ๋กœ๋ถ€ํ„ฐ x์ถ• ๋ฐฉํ–ฅ์œผ๋กœ a*k(a = 0, 1, 2, 3 ...), y์ถ• ๋ฐฉํ–ฅ์œผ๋กœ b*k(b = 0, 1, 2, 3 ...)๋งŒํผ ๋–จ์–ด์ง„ ์œ„์น˜์— ์ ์„ ์ฐ์Šต๋‹ˆ๋‹ค. ์›์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ€ d๋ฅผ ๋„˜๋Š” ์œ„์น˜์—๋Š” ์ ์„ ์ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, k๊ฐ€ 2, d๊ฐ€ 4์ธ ๊ฒฝ์šฐ์—๋Š” (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) ์œ„์น˜์— ์ ์„ ์ฐ์–ด ์ด 6๊ฐœ์˜ ์ ์„ ์ฐ์Šต๋‹ˆ๋‹ค. ์ •์ˆ˜ k์™€..