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

๐Ÿ“š Algorithm

(61)
[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..
[Baekjoon] ๋ฐฑ์ค€ 1439 '๋’ค์ง‘๊ธฐ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด ๐Ÿ“ 1439 ๋ฌธ์ œ ๋‹ค์†œ์ด๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค์†œ์ด๋Š” ์ด ๋ฌธ์ž์—ด S์— ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ „๋ถ€ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ํ–‰๋™์€ S์—์„œ ์—ฐ์†๋œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์žก๊ณ  ๋ชจ๋‘ ๋’ค์ง‘๋Š” ๊ฒƒ์ด๋‹ค. ๋’ค์ง‘๋Š” ๊ฒƒ์€ 1์„ 0์œผ๋กœ, 0์„ 1๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด S=0001100 ์ผ ๋•Œ, ์ „์ฒด๋ฅผ ๋’ค์ง‘์œผ๋ฉด 1110011์ด ๋œ๋‹ค. 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋’ค์ง‘์œผ๋ฉด 1111111์ด ๋˜์–ด์„œ 2๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ฒ˜์Œ๋ถ€ํ„ฐ 4๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ 5๋ฒˆ์งธ ๋ฌธ์ž๊นŒ์ง€ ๋ฌธ์ž๋ฅผ ๋’ค์ง‘์œผ๋ฉด ํ•œ ๋ฒˆ์— 0000000์ด ๋˜์–ด์„œ 1๋ฒˆ ๋งŒ์— ๋ชจ๋‘ ๊ฐ™์€ ์ˆซ์ž๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ž์—ด S๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‹ค์†œ์ด๊ฐ€ ํ•ด์•ผํ•˜๋Š” ํ–‰๋™์˜ ์ตœ์†Œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ..
[Baekjoon] ๋ฐฑ์ค€ 1427 '์†ŒํŠธ์ธ์‚ฌ์ด๋“œ' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 1427 ๋ฌธ์ œ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ๋‹ค. ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ๊ทธ ์ˆ˜์˜ ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด๋ณด์ž. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ •๋ ฌํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ์ž๋ฆฌ์ˆ˜๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด n=int(input()) lst = [] for i in str(n): lst.append(int(i)) lst.sort(reverse=True) for i in lst : print(i, end="")
[Baekjoon] ๋ฐฑ์ค€ 1330 '๋‘ ์ˆ˜ ๋น„๊ตํ•˜๊ธฐ' ๋ฌธ์ œํ’€์ด C์–ธ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด ๐Ÿ“ 1330 ๋ฌธ์ œ ๋‘ ์ •์ˆ˜ A์™€ B๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, A์™€ B๋ฅผ ๋น„๊ตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A์™€ B๋Š” ๊ณต๋ฐฑ ํ•œ ์นธ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. A๊ฐ€ B๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ์—๋Š” '>'๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. A๊ฐ€ B๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ์—๋Š” '
[Baekjoon] ๋ฐฑ์ค€ 1316 '๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค' ๋ฌธ์ œํ’€์ด ํŒŒ์ด์ฌ, Python, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ •๋ฆฌ ๐Ÿ“ 1316 ๋ฌธ์ œ ๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด์ด์ง€๋งŒ, aabbbccb๋Š” b๊ฐ€ ๋–จ์–ด์ ธ์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ๋“ค์–ด์˜จ๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜์–ด์žˆ๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๐Ÿง ํ’€์ด ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์–ด๋ฅผ ํ™•์ธํ•œ๋‹ค. ๋‹จ..
์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์œ ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (Meta Heuristic), ์ตœ์ ํ•ด ์ฐพ๊ธฐ, ๊ธˆ๊ดด ๋ฌธ์ œ ์œ ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : Meta Heuristic ๊ณ„์—ด์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฒฝํ—˜์ ์œผ๋กœ ์†”๋ฃจ์…˜์„ ์ œ์‹œํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ชฉ์  ์ฃผ์–ด์ง„ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ์ตœ์ ์˜ ์†”๋ฃจ์…˜์„ ์ฐพ๋Š” ๊ฒƒ (์ฆ‰, ์ตœ์ ํ•ด๋ฅผ ์ฐพ๋Š” ๊ฒƒ) ์œ ์ „ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠน์„ฑ์ƒ ๊ณผ์ •๊ณผ ๊ฒฐ๊ณผ ์„ค๋ช…์ด ๊ต‰์žฅํžˆ ์–ด๋ ค์›€. ๋ฌด์ž‘์œ„์„ฑ์ด ์กด์žฌํ•จ ์ƒ๋ฌผํ•™์—์„œ ์ƒ๋ฌผ๋“ค์˜ ์ƒ์กด ๋ฒ•์น™์ธ ์ ์ž์ƒ์กด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•œ ๊ฐœ์ฒด๊ฐ€ ์‚ด์•„๋‚จ๋Š”๋‹ค. ์‚ด์•„๋‚จ์€ ๊ฐœ์ฒด๋Š” ๋ฒˆ์‹์„ ํ•œ๋‹ค. ์‚ด์•„๋‚จ์€ ๊ฐœ์ฒด๋Š” ๊ฐ๊ฐ ๋ถ€๋ชจ๊ฐ€ ๋˜์–ด ์ž์†์„ ์ƒ์„ฑํ•˜๋Š”๋ฐ, ์ž์†์€ ๋ถ€์™€ ๋ชจ์˜ ์œ ์ „์ž๋ฅผ ๋ฐ›๊ณ  ๋•Œ๋•Œ๋กœ ๋Œ์—ฐ๋ณ€์ด ์œ ์ „์ž๋ฅผ ๋ฐ›์•„ ๋‹ค์Œ ์„ธ๋Œ€๋ฅผ ์‚ด์•„๊ฐ„๋‹ค. → ์œ„์˜ ์„ธ ๊ฐ€์ง€๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉด ํ™˜๊ฒฝ์— ์ ํ•ฉํ•œ ๊ฐœ์ฒด๋“ค์ด ์‚ด์•„๋‚จ๊ณ  ๊ทธ ๊ฐœ์ฒด๋“ค์ด ์ข‹์€ ์†”๋ฃจ์…˜์„ ์ œ์‹œํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์“ฐ์ด๋Š” ์šฉ์–ด์™€ ํ‘œํ˜„ - ๊ฐœ์ฒด : individual ..

728x90