๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กPython (9)

It's easy, if you try

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ž…๊ตญ์‹ฌ์‚ฌ (Python) / ์ด๋ถ„ํƒ์ƒ‰

๋ฌธ์ œ n๋ช…์ด ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ์œ„ํ•ด ์ค„์„ ์„œ์„œ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž…๊ตญ์‹ฌ์‚ฌ๋Œ€์— ์žˆ๋Š” ์‹ฌ์‚ฌ๊ด€๋งˆ๋‹ค ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ฒ˜์Œ์— ๋ชจ๋“  ์‹ฌ์‚ฌ๋Œ€๋Š” ๋น„์–ด์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์‹ฌ์‚ฌ๋Œ€์—์„œ๋Š” ๋™์‹œ์— ํ•œ ๋ช…๋งŒ ์‹ฌ์‚ฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์•ž์— ์„œ ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋น„์–ด ์žˆ๋Š” ์‹ฌ์‚ฌ๋Œ€๋กœ ๊ฐ€์„œ ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋” ๋นจ๋ฆฌ ๋๋‚˜๋Š” ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ์žˆ์œผ๋ฉด ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๊ทธ๊ณณ์œผ๋กœ ๊ฐ€์„œ ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œ๋กœ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‚ฌ๋žŒ ์ˆ˜ n, ๊ฐ ์‹ฌ์‚ฌ๊ด€์ด ํ•œ ๋ช…์„ ์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด times๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์‹ฌ์‚ฌ๋ฅผ ๋ฐ›๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ์ตœ์†Ÿ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ ์ž…๊ตญ์‹ฌ์‚ฌ๋ฅผ ๊ธฐ..

[๋ฐฑ์ค€/boj] 9252: LCS2 (Python) / DP

title: "[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋ฐฑ์ค€์•Œ๊ณ ๋ฆฌ์ฆ˜ - 9252 LCS2 (ํŒŒ์ด์ฌ/python)" date: 2020-05-17 18:30:00 tags: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ LCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)๋ฌธ์ œ๋Š” ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๊ณผ ๋‘˜์งธ ์ค„์— ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ตœ๋Œ€ 1000๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ๋ฌธ์ž์—ด์˜ LCS์˜ ๊ธธ์ด๋ฅผ, ๋‘˜์งธ ์ค„์— LCS๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. LCS๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•˜๊ณ , LCS์˜ ๊ธธ์ด๊ฐ€ 0์ธ ๊ฒฝ์šฐ์—๋Š” ๋‘˜์งธ ์ค„..

[๋ฐฑ์ค€/boj] 9251: LCS (Python) / DP

๋ฌธ์ œ LCS(Longest Common Subsequence, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด)๋ฌธ์ œ๋Š” ๋‘ ์ˆ˜์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋‘์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ๋˜๋Š” ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ACAYKP์™€ CAPCAK์˜ LCS๋Š” ACAK๊ฐ€ ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„๊ณผ ๋‘˜์งธ ์ค„์— ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ์ตœ๋Œ€ 1000๊ธ€์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ๋ฌธ์ž์—ด์˜ LCS์˜ ๊ธธ์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 ACAYKP CAPCAK ์˜ˆ์ œ ์ถœ๋ ฅ 1 4 ์ถœ์ฒ˜ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ: baekjoon ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ ์‚ฌ๋žŒ: qpwoeiruty ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ [๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ](https://www.acmicpc.net/problem/tag/๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ..

[Python] heapq ๋ชจ๋“ˆ

heapq ๋ชจ๋“ˆ์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์•Œ์•„๋ณด์ž ! Heap ์ด๋ž€ ? ํž™(heap)์€ ์ตœ๋Œ“๊ฐ’ ๋ฐ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„๋‚ด๋Š” ์—ฐ์‚ฐ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์™„์ „์ด์ง„ํŠธ๋ฆฌ(complete binary tree)๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ(tree-based structure)๋กœ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํž™ ์†์„ฑ(property)์„ ๋งŒ์กฑํ•œ๋‹ค. A๊ฐ€ B์˜ ๋ถ€๋ชจ๋…ธ๋“œ(parent node)์ด๋ฉด, A์˜ ํ‚ค(key)๊ฐ’๊ณผ B์˜ ํ‚ค๊ฐ’ ์‚ฌ์ด์—๋Š” ๋Œ€์†Œ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค. ํž™์—๋Š” ๋‘๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋ถ€๋ชจ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์ด ์ž์‹๋…ธ๋“œ์˜ ํ‚ค๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฐ ํž™์„ '์ตœ๋Œ€ ํž™', ๋ถ€๋ชจ๋…ธ๋“œ์˜ ํ‚ค๊ฐ’์ด ์ž์‹๋…ธ๋“œ์˜ ํ‚ค๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ์ž‘์€ ํž™์„ '์ตœ์†Œ ํž™'์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์€ ์ตœ๋Œ€ ํž™์˜ ์˜ˆ์‹œ์ด๋‹ค. ์ถœ์ฒ˜ : ์œ„ํ‚ค๋ฐฑ๊ณผ 'ํž™ (์ž๋ฃŒ ๊ตฌ์กฐ)' heapq ์™„์ „ ์ด์ง„ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์ตœ์†Œ ํž™ ์ž..

[Python] for _ in range(n)

์–ธ๋”์Šค์ฝ”์–ด(_) ํฌ๊ฒŒ ๋‹ค์„ฏ๊ฐ€์ง€์˜ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์ธํ„ฐํ”„๋ฆฌํ„ฐ(Interpreter)์—์„œ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ ๊ฐ’์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ์„ ๋•Œ (ํ”ํžˆ “I don’t care”๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.) ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜๋ช…์— ํŠน๋ณ„ํ•œ ์˜๋ฏธ ๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•˜๊ณ ์ž ํ•  ๋•Œ ๊ตญ์ œํ™”(Internationalization, i18n)/์ง€์—ญํ™”(Localization, l10n) ํ•จ์ˆ˜๋กœ์จ ์‚ฌ์šฉํ•  ๋•Œ ์ˆซ์ž ๋ฆฌํ„ฐ๋Ÿด๊ฐ’์˜ ์ž๋ฆฟ์ˆ˜ ๊ตฌ๋ถ„์„ ์œ„ํ•œ ๊ตฌ๋ถ„์ž๋กœ์จ ์‚ฌ์šฉํ•  ๋•Œ ์—ฌ๊ธฐ์„œ for _ in range(n) ์€ 2๋ฒˆ์งธ ๊ฒฝ์šฐ์ธ ๊ฐ’์„ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ์ธ ๊ฒฝ์šฐ์ด๋‹ค. ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ ๊ฐ„๋‹จํžˆ ์“ฐ์ธ๋‹ค. ์ตœ์ดˆ ๋ฐœํ–‰ ๋‚ ์งœ: 2020-03-23 21:57:00

[SW Expert Academy] 2043. ์„œ๋ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ (Python)

๋ฌธ์ œ ์„œ๋ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ƒ๊ฐ์ด ๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ P๋Š” 000๋ถ€ํ„ฐ 999๊นŒ์ง€ ๋ฒˆํ˜ธ ์ค‘์˜ ํ•˜๋‚˜์ด๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฒˆํ˜ธ K๋ถ€ํ„ฐ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ด ๋ณผ ์ƒ๊ฐ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋น„๋ฐ€๋ฒˆํ˜ธ P๊ฐ€ 123 ์ด๊ณ  ์ฃผ์–ด์ง€๋Š” ๋ฒˆํ˜ธ K๊ฐ€ 100 ์ผ ๋•Œ, 100๋ถ€ํ„ฐ 123๊นŒ์ง€ 24๋ฒˆ ํ™•์ธํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งž์ถœ ์ˆ˜ ์žˆ๋‹ค. P์™€ K๊ฐ€ ์ฃผ์–ด์ง€๋ฉด K๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ช‡ ๋ฒˆ ๋งŒ์— P๋ฅผ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์ž. [์ž…๋ ฅ] ์ž…๋ ฅ์œผ๋กœ P์™€ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด๋กœ ์ฃผ์–ด์ง„๋‹ค. [์ถœ๋ ฅ] ๋ช‡ ๋ฒˆ ๋งŒ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…๋ ฅ ์˜ˆ์‹œ 123 100 ์ถœ๋ ฅ ์˜ˆ์‹œ 24 ํ’€์ด SW Expert Academy ๋ชจ์˜ ํ…Œ์ŠคํŠธ ๋ฐฉ์‹์— ์ต์ˆ™ํ•ด์ง€๋ ค๊ณ  ํ’€์–ด๋ดค๋‹ค. ํ’€์ด 1 P, K = map(int, input().split()) print(P - K..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ (Python)

๋ฌธ์ œ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋‹ค์Œ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด์ˆ˜์‹  ํƒ‘(๋†’์ด) I ์ˆซ์ž ํ์— ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค. D 1 ํ์—์„œ ์ตœ๋Œ“๊ฐ’์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. D -1 ํ์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๊ฐ€ ํ•  ์—ฐ์‚ฐ operations๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ ํ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด [0,0] ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด [์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’]์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ operations๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ธ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. operations์˜ ์›์†Œ๋Š” ํ๊ฐ€ ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์›์†Œ๋Š” “๋ช…๋ น์–ด ๋ฐ์ดํ„ฐ” ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.- ์ตœ๋Œ“๊ฐ’/์ตœ์†Ÿ๊ฐ’์„ ์‚ญ์ œํ•˜๋Š” ์—ฐ์‚ฐ์—์„œ ์ตœ๋Œ“๊ฐ’/์ตœ์†Ÿ๊ฐ’์ด ๋‘˜ ์ด์ƒ์ธ ๊ฒฝ์šฐ, ํ•˜๋‚˜๋งŒ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค...