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

๐Ÿ“š Algorithm

(60)
[Baekjoon] ๋ฐฑ์ค€ 14916 '๊ฑฐ์Šค๋ฆ„๋ˆ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 14916 ๋ฌธ์ œ ์ถ˜ํ–ฅ์ด๋Š” ํŽธ์˜์  ์นด์šดํ„ฐ์—์„œ ์ผํ•œ๋‹ค. ์†๋‹˜์ด 2์›์งœ๋ฆฌ์™€ 5์›์งœ๋ฆฌ๋กœ๋งŒ ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋‹ฌ๋ผ๊ณ  ํ•œ๋‹ค. 2์›์งœ๋ฆฌ ๋™์ „๊ณผ 5์›์งœ๋ฆฌ ๋™์ „์€ ๋ฌดํ•œ์ • ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋™์ „์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ๊ฑฐ์Šฌ๋Ÿฌ ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๊ฑฐ์Šค๋ฆ„๋ˆ์ด n์ธ ๊ฒฝ์šฐ, ์ตœ์†Œ ๋™์ „์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์•Œ๋ ค์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฑฐ์Šค๋ฆ„๋ˆ์ด 15์›์ด๋ฉด 5์›์งœ๋ฆฌ 3๊ฐœ๋ฅผ, ๊ฑฐ์Šค๋ฆ„๋ˆ์ด 14์›์ด๋ฉด 5์›์งœ๋ฆฌ 2๊ฐœ์™€ 2์›์งœ๋ฆฌ 2๊ฐœ๋กœ ์ด 4๊ฐœ๋ฅผ, ๊ฑฐ์Šค๋ฆ„๋ˆ์ด 13์›์ด๋ฉด 5์›์งœ๋ฆฌ 1๊ฐœ์™€ 2์›์งœ๋ฆฌ 4๊ฐœ๋กœ ์ด 5๊ฐœ๋ฅผ ์ฃผ์–ด์•ผ ๋™์ „์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๊ฑฐ์Šค๋ฆ„๋ˆ ์•ก์ˆ˜ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ๊ฑฐ์Šค๋ฆ„๋ˆ ๋™์ „์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๊ฑฐ์Šฌ๋Ÿฌ ์ค„ ์ˆ˜ ์—†์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด n = int..
[Baekjoon] ๋ฐฑ์ค€ 10026 '์ ๋ก์ƒ‰์•ฝ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 10026 ๋ฌธ์ œ ์ ๋ก์ƒ‰์•ฝ์€ ๋นจ๊ฐ„์ƒ‰๊ณผ ์ดˆ๋ก์ƒ‰์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ์€ ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ณด๋Š” ๊ทธ๋ฆผ๊ณผ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ N×N์ธ ๊ทธ๋ฆฌ๋“œ์˜ ๊ฐ ์นธ์— R(๋นจ๊ฐ•), G(์ดˆ๋ก), B(ํŒŒ๋ž‘) ์ค‘ ํ•˜๋‚˜๋ฅผ ์ƒ‰์น ํ•œ ๊ทธ๋ฆผ์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์€ ๋ช‡ ๊ฐœ์˜ ๊ตฌ์—ญ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋Š”๋ฐ, ๊ตฌ์—ญ์€ ๊ฐ™์€ ์ƒ‰์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋˜, ๊ฐ™์€ ์ƒ‰์ƒ์ด ์ƒํ•˜์ขŒ์šฐ๋กœ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋‘ ๊ธ€์ž๋Š” ๊ฐ™์€ ๊ตฌ์—ญ์— ์†ํ•œ๋‹ค. (์ƒ‰์ƒ์˜ ์ฐจ์ด๋ฅผ ๊ฑฐ์˜ ๋Š๋ผ์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๊ฐ™์€ ์ƒ‰์ƒ์ด๋ผ ํ•œ๋‹ค) ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทธ๋ฆผ์ด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์— RRRBB GGBBB BBBRR BBRRR RRRRR ์ ๋ก์ƒ‰์•ฝ์ด ์•„๋‹Œ ์‚ฌ๋žŒ์ด ๋ดค์„ ๋•Œ ๊ตฌ์—ญ์˜ ์ˆ˜๋Š” ์ด 4๊ฐœ์ด๋‹ค. (๋นจ๊ฐ• 2, ํŒŒ๋ž‘ 1, ์ดˆ๋ก 1) ํ•˜์ง€๋งŒ, ์ ๋ก์ƒ‰์•ฝ์ธ ์‚ฌ๋žŒ์€ ๊ตฌ์—ญ์„ 3๊ฐœ..
Baekjoon ๋ฐฑ์ค€ 1922 ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๋ฌธ์ œํ’€์ด kim_ghgh_ 2023. 7. 14. 22:45 ๐Ÿ“ 1922 ๋ฌธ์ œ ๋„ํ˜„์ด๋Š” ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๋ฅผ ๋ชจ๋‘ ์—ฐ๊ฒฐํ•˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์•„์‰ฝ๊ฒŒ๋„ ํ—ˆ๋ธŒ๊ฐ€ ์žˆ์ง€ ์•Š์•„ ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๋ฅผ ์ง์ ‘ ์—ฐ๊ฒฐํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ชจ๋‘๊ฐ€ ์ž๋ฃŒ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ์ปดํ“จํ„ฐ๊ฐ€ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. (a์™€ b๊ฐ€ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ๋‹ค๋Š” ๋ง์€ a์—์„œ b๋กœ์˜ ๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. a์—์„œ b๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์„ ์ด ์žˆ๊ณ , b์™€ c๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์„ ์ด ์žˆ์œผ๋ฉด a์™€ c๋Š” ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ๋‹ค.) ๊ทธ๋Ÿฐ๋ฐ ์ด์™•์ด๋ฉด ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋น„์šฉ์„ ์ตœ์†Œ๋กœ ํ•˜์—ฌ์•ผ ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋น„์šฉ ์™ธ์— ๋‹ค๋ฅธ ๊ณณ์— ๋ˆ์„ ๋” ์“ธ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด์ œ ๊ฐ ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋ชจ๋“  ์ปดํ“จํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ๋น„์šฉ์„ ์ถœ๋ ฅํ•˜๋ผ. ..
[Baekjoon] ๋ฐฑ์ค€ 1915 '๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด ๐Ÿ“ 1915 ๋ฌธ์ œ n×m์˜ 0, 1๋กœ ๋œ ๋ฐฐ์—ด์ด ์žˆ๋‹ค. ์ด ๋ฐฐ์—ด์—์„œ 1๋กœ ๋œ ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์˜ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 0 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 ์œ„์™€ ๊ฐ™์€ ์˜ˆ์ œ์—์„œ๋Š” ๊ฐ€์šด๋ฐ์˜ 2×2 ๋ฐฐ์—ด์ด ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์ด๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— n, m(1 ≤ n, m ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ์˜ ์ค„์—๋Š” m๊ฐœ์˜ ์ˆซ์ž๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ฐ€์žฅ ํฐ ์ •์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด ๋™์ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ด์šฉํ•˜์—ฌ ํ’€์—ˆ๋‹ค. import sys input = sys.stdin.readline n, m = map(int, input().split()) arr = [] dp = [[0] * m for _ in range(n)] for _ in range(n):..
[Baekjoon] ๋ฐฑ์ค€ 1789 '์ˆ˜๋“ค์˜ ํ•ฉ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 1789 ๋ฌธ์ œ ์„œ๋กœ ๋‹ค๋ฅธ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜์˜ ํ•ฉ์ด S๋ผ๊ณ  ํ•œ๋‹ค. S๋ฅผ ์•Œ ๋•Œ, ์ž์—ฐ์ˆ˜ N์˜ ์ตœ๋Œ“๊ฐ’์€ ์–ผ๋งˆ์ผ๊นŒ?. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ S(1 ≤ S ≤ 4,294,967,295)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด S = int(input()) i = 1 sum = 0 cnt = 0 remain = 0 while 1 : sum += i i += 1 remain = S - sum if sum > S : break cnt += 1 print(cnt)
[Baekjoon] ๋ฐฑ์ค€ 1463 '1๋กœ ๋งŒ๋“ค๊ธฐ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 1463 ๋ฌธ์ œ ์ •์ˆ˜ X์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธ ๊ฐ€์ง€ ์ด๋‹ค. X๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 3์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค. X๊ฐ€ 2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค. 1์„ ๋บ€๋‹ค. ์ •์ˆ˜ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์œ„์™€ ๊ฐ™์€ ์—ฐ์‚ฐ ์„ธ ๊ฐœ๋ฅผ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์„œ 1์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10^6๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์—ฐ์‚ฐ์„ ํ•˜๋Š” ํšŸ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด 10์˜ ๊ฒฝ์šฐ์— 10 → 9 → 3 → 1 ๋กœ 3๋ฒˆ ๋งŒ์— ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. N = int(input()) dp = [0] * (N+1) for i in range(2, N+1) : dp[i] = dp[i-1] + 1 if i % 2 == 0 : dp[i..

728x90