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

Algorithm/BOJ

[BOJ] ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค (#1316)

 

 

๋ฌธ์ œ 

 

๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด์ด์ง€๋งŒ, aabbbccb๋Š” b๊ฐ€ ๋–จ์–ด์ ธ์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค.

๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ 

 

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ๋“ค์–ด์˜จ๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜์–ด์žˆ๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100์ด๋‹ค.

 

 

์ถœ๋ ฅ 

 

์ฒซ์งธ ์ค„์— ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

ํ•ด์„ค ์ฝ”๋“œ 
N = int(input())
cnt = 0
for _ in range(N):
  word = input()
  error = 0
  for i in range(len(word)-1): 
    if word[i] != word[i+1]: # ์—ฐ๋‹ฌ์€ ๋‘ ๋ฌธ์ž๊ฐ€ ๋‹ค๋ฅผ ๋•Œ 
      new_word = word[i+1:] # ํ˜„์žฌ ๊ธ€์ž ์ดํ›„ ๋ฌธ์ž์—ด์„ ์ƒˆ๋กœ์šด ๋‹จ์–ด๋กœ ์ƒ์„ฑ
      if new_word.count(word[i]) > 0: # ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์— ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉด 
        error += 1 # error ๊ฐ’์„ ์ฆ๊ฐ€์‹œํ‚ด
  if error == 0: # ์ตœ์ข…์ ์œผ๋กœ error๊ฐ€ 0์ด๋ฉด ๊ทธ๋ฃน๋ฌธ์ž 
    cnt += 1 # ๊ทธ๋ฃน ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜ ์ฆ๊ฐ€
๋ถ„์„ > ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ดค์„ ๋•Œ ๋ฌธ์ž์—ด์— ๋Œ€ํ•œ ๋ฌธ์ œ๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ–ˆ๋˜ ์Šต๊ด€ ๋•Œ๋ฌธ์— ๋‚˜๋„ ๋ชจ๋ฅด๊ฒŒ ์ž๋™์ ์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ์ „ํ™˜ํ•ด์„œ ํ’€๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๋‹ค๊ฐ€ ์ž˜ ๋˜์ง€ ์•Š์•„, ํ•ด์„ค์„ ๋ณด๊ฒŒ ๋˜์—ˆ๊ณ  ์ƒ๊ฐ๋ณด๋‹ค ๋ฐฉ๋ฒ•์ด ๋‹จ์ˆœํ•ด์„œ ๋†€๋ž๋‹ค. ์ด ๋ฌธ์ œํ’€์ด์˜ ๋กœ์ง์€ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค์„œ ํ˜„์žฌ ๋ฌธ์ž(word[i])์™€ ๊ทธ ๋‹ค์Œ ๋ฌธ์ž(word[i+1])๊ฐ€ ๋‹ค๋ฅผ ๋•Œ word[i+1] ์ดํ›„์˜ ๋ฌธ์ž์—ด์„ ์Šฌ๋ผ์ด์‹ฑํ•ด์„œ ์ƒˆ๋กœ์šด ๋‹จ์–ด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค์–ด ์ฃผ๊ณ  ์ƒˆ๋กœ์šด ๋‹จ์–ด ๋ฌธ์ž์—ด์— ํ˜„์žฌ ๋ฌธ์ž์™€ ๋™์ผํ•œ ๋ฌธ์ž๊ฐ€ ์žˆ์œผ๋ฉด error๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ ์ฃผ์–ด ์ตœ์ข…์ ์œผ๋กœ error ๊ฐ’์ด 0์ด ๋  ๋•Œ๋งŒ cnt ๊ฐ’์„ ์ฆ๊ฐ€์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์–ด์ฐจํ”ผ word[i]์™€ word[i+1]์ด ๊ฐ™์„ ๋•Œ๋Š” error๊ฐ€ ์•„๋‹ˆ๊ณ  ๋ฌธ์ œ์—์„œ์˜ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— word[i]์™€ word[i+1]๊ฐ€ ๋‹ค๋ฅผ ๋•Œ๋งŒ ๊ณ ๋ คํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

 

 

1316๋ฒˆ: ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ

www.acmicpc.net