[๋ฐฑ์ค€/python] 1149๋ฒˆ : RGB ๊ฑฐ๋ฆฌ

2021. 3. 30. 00:12

๋ฌธ์ œ

RGB๊ฑฐ๋ฆฌ์—๋Š” ์ง‘์ด N๊ฐœ ์žˆ๋‹ค. ๊ฑฐ๋ฆฌ๋Š” ์„ ๋ถ„์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ , 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ N๋ฒˆ ์ง‘์ด ์ˆœ์„œ๋Œ€๋กœ ์žˆ๋‹ค.

์ง‘์€ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘ ์ค‘ ํ•˜๋‚˜์˜ ์ƒ‰์œผ๋กœ ์น ํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ๊ฐ์˜ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์•„๋ž˜ ๊ทœ์น™์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž.

  • 1๋ฒˆ ์ง‘์˜ ์ƒ‰์€ 2๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • N๋ฒˆ ์ง‘์˜ ์ƒ‰์€ N-1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
  • i(2 ≤ i ≤ N-1)๋ฒˆ ์ง‘์˜ ์ƒ‰์€ i-1๋ฒˆ, i+1๋ฒˆ ์ง‘์˜ ์ƒ‰๊ณผ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ง‘์˜ ์ˆ˜ N(2 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์ง‘์„ ๋นจ๊ฐ•, ์ดˆ๋ก, ํŒŒ๋ž‘์œผ๋กœ ์น ํ•˜๋Š” ๋น„์šฉ์ด 1๋ฒˆ ์ง‘๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์€ 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๋ชจ๋“  ์ง‘์„ ์น ํ•˜๋Š” ๋น„์šฉ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

์ •๋‹ต

import sys
N = int(sys.stdin.readline())

color = []
for i in range(N):
    color.append(list(map(int, sys.stdin.readline().split())))

for i in range(1, N):
    color[i][0] += min(color[i - 1][1], color[i - 1][2])
    color[i][1] += min(color[i - 1][0], color[i - 1][2])
    color[i][2] += min(color[i - 1][0], color[i - 1][1])

answer = min(color[N - 1][0], color[N - 1][1], color[N - 1][2])
print(answer)

color = []
for i in range(N):
    color.append(list(map(int, sys.stdin.readline().split())))

2์ฐจ์›๋ฐฐ์—ด color์— ๊ฐ ์ง‘๋งˆ๋‹ค์˜ R, G, B ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.

์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’์€ ๋ช‡๋ฒˆ์งธ ์ง‘์ธ์ง€๋ฅผ ๋œปํ•˜๊ณ  ๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” 0์€ R, 1์€ G, 2๋Š” B๋ฅผ ๋œปํ•œ๋‹ค.

 

for i in range(1, N):
    color[i][0] += min(color[i - 1][1], color[i - 1][2])
    color[i][1] += min(color[i - 1][0], color[i - 1][2])
    color[i][2] += min(color[i - 1][0], color[i - 1][1])

2๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ ์ „์— ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฐ’ ์ค‘ ์ž‘์€ ๊ฐ’์„ ๋”ํ•ด์ค€๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 3๋ฒˆ์จฐ ์ง‘์„ R(๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค 1)๋กœ ์น ํ–ˆ๋‹ค๋ฉด

2๋ฒˆ์งธ ์ง‘์— ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ƒ‰์€ G(๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค 2) ๋˜๋Š” B(๋‘๋ฒˆ์งธ ์ธ๋ฑ์Šค 3)์ด๋‹ค.

๋”ฐ๋ผ์„œ color[2][1], color[2][2] ์ค‘ ์ž‘์€ ๊ฐ’์„ color[3][0]์— ๋”ํ•ด์ค€๋‹ค.

 

answer = min(color[N - 1][0], color[N - 1][1], color[N - 1][2])
print(answer)

๋งˆ์ง€๋ง‰ ์ง‘์— ์žˆ๋Š” R, G, B ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

BELATED ARTICLES

more