Dev.Beth
๐Ÿ๐Ÿ’ป๐Ÿ
Dev.Beth
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (175)
    • ๐Ÿค” PS(Problem Solving) (119)
      • ๋ฐฑ์ค€(BOJ) (59)
      • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (47)
      • Leet, ๊ตฌ๋ฆ„ (6)
      • ์ฝ”ํ…Œ (7)
    • ๐Ÿ› ๏ธ ํˆด, ๊ทธ์™ธ (10)
    • ๐Ÿ•ท๏ธ ์—๋Ÿฌ, ๋ฒ„๊ทธ (15)
    • โœ๏ธ ์ด๋ก  (30)
      • ์ด๋ก , ์„ค๊ณ„ (3)
      • ๋””์ž์ธํŒจํ„ด (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ (13)
      • ๋„คํŠธ์›Œํฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (11)
      • ๊ฐœ๋ฐœ์„œ (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • WRITE
  • ADMIN

๊ณต์ง€์‚ฌํ•ญ

  • ๐Ÿต PS challenge

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ๊ฐค๋Ÿญ์‹œ ๋ฉˆ์ถค
  • boj 1509 c++
  • ๋ฐฑ์ค€ c++
  • Retrofit ํ•œ๊ธ€๊นจ์ง
  • 2294 ๋ฐฑ์ค€ c++
  • ๋ฐฑ์ค€ 1520 c++
  • ๋ฐฑ์ค€ c++ 2293
  • ์‚ผ์„ฑ ํ™”๋ฉด ๋ฉˆ์ถค
  • 2294 c++
  • ๋ฐฑ์ค€ 2293
  • ๋ฐฑ์ค€
  • ๋ฐฑ์ค€ 2294 c++
  • Retrofit ํ•œ๊ธ€ ๊นจ์ง
  • ๋ฐฑ์ค€ 2294
  • boj 2293
  • 1509 c++
  • 2293 c++
  • ๊ฐค๋Ÿญ์‹œ ๊ฒ€์€ํ™”๋ฉด
  • c++ 2294
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋„คํŠธ์›Œํฌ java
  • 2293
  • ๊ฐค๋Ÿญ์‹œ ๊ฒ€์€ํ™”๋ฉด ์žฌ๋ถ€ํŒ…
  • ๋ฐฑ์ค€ 1509 c++
  • Retrofit Post ํ•œ๊ธ€
  • 1520 c++
  • ๊ฐค๋Ÿญ์‹œ ๊ฐ•์ œ ์žฌ๋ถ€ํŒ…
  • ๊ฐค๋Ÿญ์‹œ ์žฌ๋ถ€ํŒ…
  • 2294
  • ๋ฐฑ์ค€ 2240
  • ๊ฐค๋Ÿญ์‹œ ๋ฆฌ๋ถ€ํŒ…

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Dev.Beth

๐Ÿ๐Ÿ’ป๐Ÿ

๐Ÿค” PS(Problem Solving)/๋ฐฑ์ค€(BOJ)

[๋ฐฑ์ค€/c++] 1509๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ ๋ถ„ํ• 

2019. 8. 9. 20:02
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

https://www.acmicpc.net/problem/1509


๋ฌธ์ œ

์„ธ์ค€์ด๋Š” ์–ด๋–ค ๋ฌธ์ž์—ด์„ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋ถ„ํ• ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ABACABA๋ฅผ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋ถ„ํ• ํ•˜๋ฉด, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}๋“ฑ์ด ์žˆ๋‹ค.

๋ถ„ํ• ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์˜ ์ตœ๋Œ€๊ธธ์ด๋Š” 2,500์ด๋‹ค.


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ํŒฐ๋ฆฐ๋“œ๋กฌ ๋ถ„ํ• ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.


ํ’€์ด๊ณผ์ •


1.๊ทœ์น™

  • dp์ด๋ฏ€๋กœ ์ ํ™”์‹๊ณผ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ์ž์—ด์„ ๋ถ„ํ• ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


2.์ˆœ์„œ


ํŒฐ๋ฆฐ๋“œ๋กฌ?(https://it-and-life.tistory.com/137)์—์„œ ์•ฝ๊ฐ„ ๋ณ€ํ˜•๋œ ๋ฌธ์ œ๋กœ, ๋ฌธ์ž์—ด์„ ์–ด๋–ป๊ฒŒ ์ตœ์†Ÿ๊ฐ’์˜ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๊ตฌํ•˜๋ผ๋Š” ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.


์˜ˆ๋ฅผ๋“ค์–ด BBC๋ผ๋ฉด, ์ตœ์†Œํ•œ์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” {BB},{C}๋กœ 2๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. {C}ํ•˜๋‚˜์ธ ๋ฌธ์ž์—ด๋„ ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.(๊ฒฐ๊ตญ ์ž๊ธฐ์ž์‹ ์€ ๋ฌด์กฐ๊ฑด ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ์ทจ๊ธ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)

๋จผ์ € 2์ฐจ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  ๋ฌธ์ž์—ด์•ˆ์— ํŒฐ๋ฆฐ๋“œ๋กฌ์ด ์žˆ๋Š”๊ฒฝ์šฐ๋ฅผ ์ฒดํฌํ•ด๋‘ก๋‹ˆ๋‹ค.


 pld[3][3]

 1

 2

 3

1

 pld[1][1]=B,B=1

pld[1][2]=B,B=1

pld[1][3]=B,C=0 

2

pld[2][1]=0

(์ด๋ฏธ p[1][2]=1

์ด๋ฏ€๋กœ ๋ณ€๊ฒฝX)

pld[2][2]=B,B=1

pld[2][3]=B,C=0

3

pld[3][1]=C,B=0

pld[3][2]=C,B=0

pld[3][3]=C,C=1


ํŒฐ๋ฆฐ๋“œ๋กฌ์ผ ๊ฒฝ์šฐ(๋นจ๊ฐ„๋„ค๋ชจ)์—๋งŒ ๊ฐฏ์ˆ˜๋ฅผ +1์ฆ๊ฐํ•ด์ฃผ๋˜ dp๋ฅผ ์ด์šฉํ•ด ์ตœ์†Ÿ๊ฐ’์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


pld[0][0] = dp[0] = 0


pld[1][1] = B,B(์ž๊ธฐ ์ž์‹ ์€ ํŒฐ๋ฆฐ๋“œ๋กฌ. dp[0]+1 ์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.) = dp[1] = 1


pld[1][2] = B,B(ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ฏ€๋กœ, dp[0]+1์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.) = dp[2] = 1

pld[2][2] = B,B(ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ฏ€๋กœ, dp[1]+1์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ dp[1]+1=2 > dp[2] = 1์ด๊ธฐ์— ์ตœ์†Ÿ๊ฐ’์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋ฏ€๋กœ 1์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.) = dp[2] = 1


pld[1][3] = B,C(ํŒฐ๋ฆฐ๋“œ๋กฌX)

pld[2][3] = B,C(ํŒฐ๋ฆฐ๋“œ๋กฌX)

pld[3][3] = C,C(ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ฏ€๋กœ, dp[2]+1์ด๋ผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.) = dp[3] = 2


์ •๋‹ต์ธ 2๋ฅผ ์œ ์ถ”ํ–ˆ์œผ๋ฏ€๋กœ,

์ ํ™”์‹์€ (i : 1~(N-1) , j : 1~i) ์ผ๋•Œ pld[j][i]๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ผ ๊ฒฝ์šฐ, dp[i] = min(dp[i], dp[j-1]+1) ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.


3.์ฝ”๋“œ


๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿค” PS(Problem Solving) > ๋ฐฑ์ค€(BOJ)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€/c++] 2294๋ฒˆ - ๋™์ „2  (0) 2019.08.11
[๋ฐฑ์ค€/c++] 2293๋ฒˆ - ๋™์ „1  (0) 2019.08.11
[๋ฐฑ์ค€/c++] 10828๋ฒˆ - ์Šคํƒ  (0) 2019.08.06
[๋ฐฑ์ค€/c++] 10942๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ?  (0) 2019.08.04
[๋ฐฑ์ค€/c++] 1890๋ฒˆ - ์ ํ”„  (0) 2019.08.03
    '๐Ÿค” PS(Problem Solving)/๋ฐฑ์ค€(BOJ)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฐฑ์ค€/c++] 2294๋ฒˆ - ๋™์ „2
    • [๋ฐฑ์ค€/c++] 2293๋ฒˆ - ๋™์ „1
    • [๋ฐฑ์ค€/c++] 10828๋ฒˆ - ์Šคํƒ
    • [๋ฐฑ์ค€/c++] 10942๋ฒˆ - ํŒฐ๋ฆฐ๋“œ๋กฌ?
    Dev.Beth
    Dev.Beth
    Beth์˜ ๊ณต๋ถ€ ๋ธ”๋กœ๊ทธ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”