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

โญ Problem_Solving/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค12

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ์™„์ „ํƒ์ƒ‰ (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/parts/12230 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ์™„์ „ํƒ์ƒ‰์ด๋ผ ํŠน๋ณ„ํ•œ ํ’€์ด์ „๋žต๋ณด๋‹ค ๋ฌธ์ œ๋ฅผ ์ž˜ ์ฝ๊ณ  ์ถฉ์‹คํžˆ ๊ตฌํ˜„ํ•˜๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ๋“ค์ด๋‹ค. 2. 6๋ฒˆ์งธ ๋ฌธ์ œ์ธ ์ „๋ ฅ๋ง ๋‘˜๋กœ ๋‚˜๋ˆ„๊ธฐ๋Š” ์—ฐ๊ฒฐ๊ด€๊ณ„ ํŒŒ์•…์„ ์œ„ํ•ด bfs๋กœ ํ’€์—ˆ๋‹ค. # 1. ์ตœ์†Œ ์ง์‚ฌ๊ฐํ˜• def solution(sizes): sizes = list(map(sorted, sizes)) x = max(sizes, key = lambda x: x[0]) y = max(sizes, .. 2023. 2. 7.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ์ •๋ ฌ (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/parts/12198 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. K๋ฒˆ์งธ ์ˆ˜: ๋ฌธ์ œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ทธ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ์‰ฌ์šด ๋ฌธ์ œ 2. ๊ฐ€์žฅ ํฐ ์ˆ˜: ๋žŒ๋‹ค๋ฅผ ์ด์šฉํ•œ ์ •๋ ฌ ํ™œ์šฉ ๋ฌธ์ œ. number์˜ ๋ฒ”์œ„๊ฐ€ 1000์ดํ•˜ ์ด๋ฏ€๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์„œ 3๋ฒˆ ๋ฐ˜๋ณต ํ›„ ์ •๋ ฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค. '000' ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋งˆ์ง€๋ง‰์— ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ค€ ๋’ค์— ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ค˜์•ผ ํ•œ๋‹ค. 3. H-index: ๋ฌธ์ œ์—์„œ ๋‚˜์˜จ๋Œ€๋กœ h-index๋ฅผ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค. # 1. k๋ฒˆ์งธ ์ˆ˜ de.. 2023. 2. 5.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ํž™(Heap) (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/parts/12117 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ๋” ๋งต๊ฒŒ: ๋ฒ”์œ„๊ฐ€ 2 ~ 1,000,000์ด๋ฏ€๋กœ ์šฐ์„ ์ˆœ์œ„ํ(ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ ํž™ํ)๋ฅผ ์ ์ ˆํžˆ ์ด์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 2. ๋””์Šคํฌ ์ปจํŠธ๋กค๋Ÿฌ: ๊ทธ๋ฆฌ๋”” + ์šฐ์„ ์ˆœ์œ„ ํ ๋ฌธ์ œ. ์š”์ฒญ์‹œ์  ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•ด ๋‹ค์Œ ์ž‘์—…์„ ์ถ”์ถœํ•ด์„œ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ ์ž‘์—… + ๋ˆ„์  ์‹œ๊ฐ„์„ ๊ณ„์† ๊ฐฑ์‹ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์†Œ์š” ์‹œ๊ฐ„ ์ˆœ์œผ๋กœ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•ด ํž™์— ๋„ฃ์„ ๋•Œ ์ˆœ์„œ๋ฅผ ๋’ค์ง‘์–ด์„œ ๋„ฃ์–ด์ค˜์•ผ๋œ๋‹ค. 3. ์ด์ค‘์šฐ์„ ์ˆœ์œ„ํ: ์ตœ.. 2023. 2. 4.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์‚ฌ์น™์—ฐ์‚ฐ (Python/ํŒŒ์ด์ฌ) https://school.programmers.co.kr/learn/courses/30/lessons/1843 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ๋งค์šฐ ์–ด๋ ค์› ๋˜ dp + ๋ถ„ํ• ์ •๋ณต ๋ฌธ์ œ 2. ์—ฐ์‚ฐ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์•ž ๋’ค ๊ตฌ๊ฐ„์„ ๋‚˜๋ˆ„์–ด์„œ ๊ณ„์‚ฐํ•ด์ฃผ๋ฉด ๋œ๋‹ค. (๊ตฌ๊ฐ„ํ•ฉ๊ณผ ์œ ์‚ฌ) 10๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค [1] ~ [2 ~ 10] [1 ~ 2] ~ [3 ~ 10] [1 ~ 3] ~ [4 ~ 10] ... [1 ~ 9] ~ [10] 3. - ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์ตœ๋Œ“๊ฐ’ ํ…Œ์ด๋ธ”๊ณผ ์ตœ์†Ÿ๊ฐ’ ํ…Œ์ด๋ธ” ๋‘ ๊ฐœ์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค 4. ๊ตฌ๊ฐ„์˜ ๊ธธ์ด.. 2023. 1. 31.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ์Šคํƒ / ํ https://school.programmers.co.kr/learn/courses/30/parts/12081 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด: ์Šคํƒ์„ ํ™œ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค. 2. ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ: ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์Šคํƒ์„ ํ™œ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค 3. ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ: ์ž…๋ ฅ๊ฐ’์„ ํ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์™„๋ฃŒ ๋  ๋•Œ๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ๋นผ๊ฐ€๋ฉด์„œ ํ’€์—ˆ๋‹ค. 4. ํ”„๋ฆฐํ„ฐ: enumerate๋ž‘ ํ๋ฅผ ํ™œ์šฉํ•ด์„œ ์š”์ฒญ ๋ฌธ์„œ ๋ฒˆํ˜ธ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ํ๋ฅผ ๋Œ๋ ค์„œ ํ’€์—ˆ๋‹ค. 5. ๋‹ค๋ฆฌ๋ฅผ ์ง€๋‚˜๋Š” ํŠธ๋Ÿญ: ๋‹ค๋ฆฌ๋ฅผ ์ฃผ์–ด์ง„ ๊ธธ์ด์— ๋งž๋Š” ํ๋กœ ๊ตฌํ˜„ํ•ด์„œ ํŠธ๋Ÿญ์˜ ์ด๋™์„ ๊ตฌํ˜„ํ•ด์„œ ํ’€์—ˆ๋‹ค. ์ฃผ์˜ํ•  ์ ์œผ๋กœ๋Š” .. 2023. 1. 16.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๊ณ ๋“์  kit - ํ•ด์‹œ https://school.programmers.co.kr/learn/courses/30/parts/12077 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr 1. ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜: ๋™๋ช…์ด์ธ ๋•Œ๋ฌธ์— set์„ ์“ฐ๋ฉด ์•ˆ๋˜๊ณ  dict์ด๋‚˜ counter ์ž๋ฃŒํ˜•์„ ์จ์•ผํ•œ๋‹ค. hash ์ž๋ฃŒํ˜•์„ ์•ˆ ์“ฐ๊ณ  ๊ทธ๋ƒฅ list๋‚˜ zip๋“ฑ์„ ์จ๋„ ํ†ต๊ณผ๋œ๋‹ค. 2. ํฐ์ผ“๋ชฌ: set์„ ์“ฐ๋ฉด ์‰ฝ๋‹ค 3. ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก: ํ•ด์‰ฌ๋ฅผ ์•ˆ ์“ฐ๊ณ  list๋ฅผ ์จ์„œ O(N)์— ํ’€์ดํ–ˆ๋‹ค. ํ•ด์‰ฌ๋ฅผ ์“ด ํ’€์ด๋„ ๋ดค๋Š”๋ฐ ๊ทธ๋ƒฅ list๋ฅผ ์“ฐ๋Š” ๊ฒŒ ๋” ์‰ฌ์šธ ๊ฒƒ ๊ฐ™๋‹ค 4. ์œ„์žฅ: defaultdict์„ ํ™œ์šฉํ–ˆ๋‹ค... 2023. 1. 14.