๐Ÿ”์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 15989๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ 4

    ๋ฌธ์ œ ํ’€์ด 1. ๋ชจ๋“  ์ •์ˆ˜(n)๋Š” 1๋งŒ ์จ์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. n ๊ฒฝ์šฐ์˜ ์ˆ˜ 0 ์—†์Œ 1 1 2 1 + 1 3 1 + 1 + 1 4 1 + 1 + 1 + 1 5 1 + 1 + 1 + 1 + 1 1์˜ ํ•ฉ์œผ๋กœ ์ •์ˆ˜ n์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ 1๊ฐ€์ง€ ์ด๋ฏ€๋กœ dp๋ฅผ ์ „๋ถ€ 1๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. dp = [1] * 10001 2. 1, 2์˜ ํ•ฉ์œผ๋กœ ์ •์ˆ˜ n์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ (n - 2)๋ฅผ 1์˜ ํ•ฉ๋งŒ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๋ฐฉ๋ฒ•์— 2๋ฅผ ๋”ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. n ๊ฒฝ์šฐ์˜ ์ˆ˜ 0 (์—†์Œ) 1 1 2 1 + 1, (์—†์Œ) + 2 3 1 + 1 + 1, 1 + 2 4 1 + 1 + 1 + 1, 1 + 1 + 2 5 1 + 1 + 1 +1 + 1, 1 + 1 + 1 + 2 3. 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ์ •์ˆ˜ n์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ (n - 3)์„ 1, 2์˜..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1644๋ฒˆ: ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ

    ๋ฌธ์ œ ํ’€์ด ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด, ๋‘ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ํ’€๋ฉด ๋œ๋‹ค. ๊ตฌ๊ฐ„ ํ•ฉ์€ ์„ ํƒ์‚ฌํ•ญ..ใ…Žใ…Ž ๋‚˜๋™๋นˆ๋‹˜์˜ ๊ฐ•์˜์— ์ „๋ถ€ ์ •๋ฆฌ๋˜์–ด์žˆ๋‹ค. https://www.youtube.com/watch?v=cswJ1h-How0&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&index=9 ์ฝ”๋“œ import sys, math input = sys.stdin.readline n = int(input()) intervalSum = [0] isPrimeList = [True for _ in range(n + 1)] for i in range(2, int(math.sqrt(n)) + 1): if isPrimeList[i]: for j in range(i * 2, n + 1, i): isPrimeList[j] ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1781๋ฒˆ: ์ปต๋ผ๋ฉด

    ๋ฌธ์ œ ํ’€์ด 1. ๋ฐ๋“œ๋ผ์ธ์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ๋ฌธ์ œ ๋ฐฐ์—ด ๋ฐ๋“œ๋ผ์ธ 1 1 2 2 3 3 6 ์ปต๋ผ๋ฉด 7 6 4 5 1 2 1 2. ์šฐ์„ ์ˆœ์œ„ ํ์— ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ๋„ฃ๋Š”๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ ๋‚ ์งœ 1์ผ 2์ผ 3์ผ 4์ผ 5์ผ ๋ฐ๋“œ๋ผ์ธ 1 ์ปต๋ผ๋ฉด 7 1์ผ ์ฐจ, 1๋ฌธ์ œ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋ฌธ์ œ๋ฅผ ์‚ฝ์ž… = ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ’ˆ ๋งŒ์•ฝ ์šฐ์„ ์ˆœ์œ„ ํ์— 2๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ์‚ฝ์ž…ํ–ˆ๋‹ค๋ฉด, 2์ผ์ด ์ง€๋‚œ ์…ˆ์ด๋‹ค. (ํ•œ ๋ฌธ์ œ๋‹น ํ•˜๋ฃจ๊ฐ€ ๊ฑธ๋ฆฌ๋ฏ€๋กœ) 3. ์šฐ์„ ์ˆœ์œ„ ํ์— ๋‘ ๋ฒˆ์งธ ๋ฌธ์ œ๋ฅผ ์‚ฝ์ž… ์šฐ์„ ์ˆœ์œ„ ํ ๋‚ ์งœ 1์ผ 2์ผ 3์ผ 4์ผ 5์ผ ๋ฐ๋“œ๋ผ์ธ 1 1 ์ปต๋ผ๋ฉด 6 7 2์ผ ์ฐจ, 2๋ฌธ์ œ 2์ผ์ฐจ์ผ ๋•Œ ๋ฐ๋“œ๋ผ์ธ์ด 1์ผ๊นŒ์ง€์ธ ๋ฌธ์ œ๋Š” ํ’€ ์ˆ˜ ์—†๋‹ค! ๋˜ํ•œ ๋™ํ˜ธ๋Š” ๋งˆ์ง€๋ง‰์— ์‚ฝ์ž…๋œ ๋ฐ๋“œ๋ผ์ธ๋ณด๋‹ค ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ’€ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋งˆ์ง€๋ง‰์— ์‚ฝ์ž…๋œ ๋ฌธ์ œ์˜ ๋ฐ๋“œ๋ผ์ธ < ํ˜„์žฌ ๋‚ ์งœ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1202๋ฒˆ: ๋ณด์„ ๋„๋‘‘

    ๋ฌธ์ œ ํ’€์ด ๊ฐ€๋ฐฉ๊ณผ ๋ณด์„์„ ์ •๋ ฌํ•œ ํ›„, ๊ฐ ๊ฐ€๋ฐฉ์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ณด์„ ๊ฐ€๊ฒฉ์˜ ์ตœ๋Œ€ ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. 1. ์ดˆ๊ธฐ ๊ฐ’ ๋ณด์„ ๋ฌด๊ฒŒ 1 2 5 ๊ฐ€๊ฒฉ 65 99 23 ๊ฐ€๋ฐฉ ๋ฌด๊ฒŒ 2 10 ์†Œ์œ ํ•œ ๋ณด์„์˜ ๊ฐ€๊ฒฉ 0 0 2. ์ฒซ ๋ฒˆ์งธ ๊ฐ€๋ฐฉ(2)์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ณด์„์„ ์šฐ์„ ์ˆœ์œ„ ํ์— ์ €์žฅ ๋ณด์„ ๋ฌด๊ฒŒ 5 ๊ฐ€๊ฒฉ 23 (๋ฐฐ์—ด ๋ณด์„์—์„œ ๋ฌด๊ฒŒ๊ฐ€ 1, 2์ธ ๊ฐ’์„ ๋นผ๋‚ด์–ด ์šฐ์„ ์ˆœ์œ„ ํ์— ์ €์žฅํ•จ) ์šฐ์„ ์ˆœ์œ„ ํ (๊ธฐ์ค€ : ๊ฐ€๊ฒฉ) ๋ฌด๊ฒŒ 2 1 ๊ฐ€๊ฒฉ 99 65 (์ฒซ ๋ฒˆ์งธ ๊ฐ€๋ฐฉ์˜ ๋ฌด๊ฒŒ๋Š” 2์ด๊ณ , 2๋ณด๋‹ค ์ž‘์€ ๋ณด์„๋“ค์„ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋„ฃ์Œ) ๊ฐ€๋ฐฉ ๋ฌด๊ฒŒ 2 10 ์†Œ์œ ํ•œ ๋ณด์„์˜ ๊ฐ€๊ฒฉ 99 0 (๊ฐ€์žฅ ํฐ ๊ฐ’์ธ 99๋ฅผ ๊ฐ€๋ฐฉ(2)์— ์ถ”๊ฐ€) ์šฐ์„ ์ˆœ์œ„ ํ (๊ธฐ์ค€ : ๊ฐ€๊ฒฉ), ์ฒซ ๋ฒˆ์žฌ ๊ฐ€๋ฐฉ์— ๊ฐ€๊ฒฉ์ด 99์ธ ๋ณด์„์„ ๋„ฃ์–ด์คฌ์œผ๋ฏ€๋กœ pop ๋ฌด๊ฒŒ 1 ๊ฐ€๊ฒฉ 65 3. ๋‚จ์€ ๋ณด..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1208๋ฒˆ: ๋ถ€๋ถ„์ˆ˜์—ด์˜ ํ•ฉ 2

    ๋ฌธ์ œ ํ’€์ด 1. ์ฃผ์–ด์ง„ ์ˆ˜์—ด์„ ์ ˆ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. [-7, -3, -2, 5, 8] -> [-7, -3], [-2, 5, 8] 2. ๋‚˜๋ˆ ์ง„ ์ˆ˜์—ด์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•œ๋‹ค. A : [-7, -3] -> [-7], [-3], [-7, -3] B : [-2, 5, 8] -> [-2], [5], [8], [-2, 5], [-2, 8], [5, 8], [-2, 5, 8] 3. A์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๊ณ , B์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด ๋ชจ๋“  ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ex) [-7, -3, 5] = [-7, -3] + [5] 4. A, B ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. sumA : [-7, -3, -10] sumB : [-2, 3, 5, 6, 8, 11, 13] 5. sumA, sumB ๊ทธ๋ฆฌ๊ณ  su..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 15732๋ฒˆ: ๋„ํ† ๋ฆฌ ์ˆจ๊ธฐ๊ธฐ

    ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ, 200 2 5 100 150 10 110 150 15 ์ƒ์ž์˜ ๋ฒˆํ˜ธ๋Š” 0 ~ 200๊นŒ์ง€ ์žˆ๋‹ค. ์šฐ์„  ์ค‘๊ฐ„ ๊ฐ’(100)์„ ๊ตฌํ•˜๊ณ , 0๋ฒˆ ์ƒ์ž์—์„œ 100๋ฒˆ ์ƒ์ž๊นŒ์ง€์˜ ๋„ํ† ๋ฆฌ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. ๋„ํ† ๋ฆฌ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์ด๋ถ„ ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ import sys input = sys.stdin.readline #๋„ํ† ๋ฆฌ ์ˆ˜ ๊ตฌํ•˜๊ธฐ def calAcorn(rules, boxNum): cnt = 0 for start, end, margin in rules: if boxNum < start: continue end = min(boxNum, end) cnt += (end - start) // margin + 1 return cnt def binarySearch(rules, end, ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 10942๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ?

    ๋ฌธ์ œ ํ’€์ด dp[i][j] : i ~ j๊นŒ์ง€์˜ ์ˆ˜์—ด์ด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ์ €์žฅ ex) dp[1][3] = True : 1 ~ 3๊นŒ์ง€์˜ ์ˆ˜์—ด์ด ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ arr ๋ฐฐ์—ด์— ์ „์ฒด ์ˆ˜์—ด ์ €์žฅ 1. ์›์†Œ๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ dp[0][0], dp[1][1], ... dp[n][n] = True 2. arr[i] == arr[i+1]์ธ ๊ฒฝ์šฐ ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ (๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ 2์ด๊ณ , ์›์†Œ๊ฐ€ ๋™์ผํ•œ ๊ฒฝ์šฐ) ex) 11, 22, 33, 44 ๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜ 3. a~b๊นŒ์ง€์˜ ์ˆ˜์—ด์—์„œ arr[a] == arr[b]์ด๊ณ  ๊ทธ ์‚ฌ์ด์˜ ์ˆ˜์—ด์ด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ๊ฒฝ์šฐ ์›์†Œ๊ฐ€ 4๊ฐœ์ธ ๊ฒฝ์šฐ, 5๊ฐœ์ธ ๊ฒฝ์šฐ ... ๋ฐ˜๋ณตํ•˜๋ฉด ๋œ๋‹ค. ์ฝ”๋“œ import sys input = sys.stdin.readline n = int(input()) a..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 1695๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ / ํŒŒ์ด์ฌ ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ ํ•ด๊ฒฐ

    ๋ฌธ์ œ ํ’€์ด 1. ์ฃผ์–ด์ง„ ์ˆ˜์—ด์—์„œ ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜์—ด์„ ๊ตฌํ•œ๋‹ค. 12342์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘ ํŒฐ๋ฆฐ๋“œ๋กฌ์€ 242(12342)์ด๋‹ค. 2. ํŒฐ๋ฆฐ๋“œ๋กฌ์˜ ์ • ๊ฐ€์šด๋ฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ˆ˜์—ด์„ ๋‚˜๋ˆˆ๋‹ค. 123 4 2 3. ํŒฐ๋ฆฐ๋“œ๋กฌ์ด ์•„๋‹Œ ์ˆ˜๋ฅผ ๋ฐ˜๋Œ€ํŽธ์— ์ถ”๊ฐ€ํ•œ๋‹ค. 123 4 321 ์ˆ˜์—ด์—์„œ ์ด๋ฏธ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ ์ˆ˜์—ด์„ ๊ตฌํ–ˆ๊ณ , ํŒฐ๋ฆฐ๋“œ๋กฌ์ด ์•„๋‹Œ ์ˆ˜๋งŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋˜๋ฏ€๋กœ ์ตœ์ ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋˜๋‹ค๋ฅธ ์˜ˆ์‹œ ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ์ฐพ๋Š” ๊ณผ์ •์—์„œ DP๊ฐ€ ์ด์šฉ๋œ๋‹ค. [์ˆ˜์—ด A] 12342 [์ˆ˜์—ด A๋ฅผ ๋’ค์ง‘์€ ์ˆ˜์—ด B] 24321 ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์ˆ˜์—ด A์™€ ์ˆ˜์—ด B์˜ ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด(LCS)์ด ๊ณง ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜์—ด์ด๋‹ค. (์ˆ˜์—ด A๋ฅผ ๋’ค์ง‘์—ˆ์„ ๋•Œ์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด = ์ˆ˜์—ด A์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ด๋ฏ€๋กœ, ํŒฐ๋ฆฐ๋“œ๋กฌ ์ˆ˜์—ด์˜ ์กฐ๊ฑด์„ ์ƒ๊ฐํ•ด๋ด๋ผ) ๋ง๋กœ ์„ค๋ช…ํ•˜๊ธฐ๊ฐ€ ์ฐธ ์–ด๋ ต๋‹ค... ..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 17404๋ฒˆ: RGB๊ฑฐ๋ฆฌ 2

    ๋ฌธ์ œ ํ’€์ด ์ฒซ ๋ฒˆ์งธ ์ง‘์˜ ์ƒ‰์„ R๋กœ ์„ ํƒํ•˜๊ณ  DP๋ฅผ ํ†ตํ•ด ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค. G, B์— ๋Œ€ํ•ด ๋ฐ˜๋ณต ์ฝ”๋“œ import sys input = sys.stdin.readline n = int(input()) arr = [list(map(int, input().split())) for _ in range(n)] def minPaint(selHouse): dp = [[0] * 3 for _ in range(n)] dp[0] = arr[0] for i in range(3): if i == selHouse: dp[1][i] = 1e9 continue dp[1][i] = arr[1][i] + arr[0][selHouse] for i in range(2, n): dp[i][0] = min(dp[i - 1][1], dp[i..

    [Python/ํŒŒ์ด์ฌ] ๋ฐฑ์ค€ 14942๋ฒˆ: ๊ฐœ๋ฏธ

    ๋ฌธ์ œ ํ’€์ด 1. ์ฃผ์–ด์ง„ ์ž…๋ ฅ์€ ์–‘๋ฐฉํ–ฅ ๊ฐ„์„ ์ด๋ฏ€๋กœ ๋‹จ๋ฐฉํ–ฅ ๊ฐ„์„ ์œผ๋กœ ๋งŒ๋“ค์–ด์ค˜์•ผํ•จ 2. ํฌ์†Œ๋ฐฐ์—ด ์‚ฌ์šฉ https://hello-capo.netlify.app/algorithm-sparse-table/ ๐Ÿงฉ [Algorithm] ํฌ์†Œ ๋ฐฐ์—ด(Sparse Table) ์•Œ๊ณ ๋ฆฌ์ฆ˜ | hello-capo! ํฌ์†Œ ๋ฐฐ์—ด(Sparse Table) ๋ฐฐ์—ด ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ฌด์กฐ๊ฑด ๋ฐฐ์—ด์˜ length ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ๋” ๋งŽ์€ ํฌ์†Œ ํ–‰๋ ฌ๊ณผ ๊ฐ™์ด, ํฌ์†Œ ๋ฐฐ์—ด์€ ๋ฐฐ์—ด์˜ ์›์†Œ ์œ„์น˜๊ฐ€ ์—ฐ์†์ ์ด์ง€ ์•Š์€ ๋ฐฐ hello-capo.netlify.app 3. LCA์™€ ์œ ์‚ฌํ•˜๊ฒŒ ๋…ธ๋“œ ํƒ์ƒ‰ https://cyberflower.github.io/2019/07/22/LCA.html LCA(Least Common Ancestor)..