๋ฐฑ์ค€ BOJ 17288๋ฒˆ 3๊ฐœ๋งŒ!

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

ํŒŒ์ด์ฌ python ๋ฌธ์ œ ํ’€์ด



๋ฌธ์ œ

0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 9๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด S์—์„œ ์—ฐ์†๋œ ์„ธ ์ˆซ์ž๊ฐ€ ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์ถœ๋ ฅํ•˜๋ผ.ย ๋‹จ, ๋„ค ์ˆซ์žย ์ด์ƒ์ด ์—ฐ์†์ผ ๊ฒฝ์šฐ์—๋Š” ๊ทธ ์ผ๋ถ€๋ฅผ ์„ธ์ง€ ์•Š๊ณ , ์—ฐ์†๋œ ์„ธ ์ˆซ์ž๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์ด์–ด์•ผย ํ•œ๋‹ค.



์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋ฌธ์ž์—ด S(3 โ‰ค S์˜ ๊ธธ์ด โ‰ค 100)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.



ํ’€์ด

# 17288 3๊ฐœ๋งŒ!
 
import sys
 
s = sys.stdin.readline().strip()
 
count = 0
ans = s[0]  # ์ฒซ ๊ธ€์ž๋กœ ์ดˆ๊ธฐํ™”
 
# i๊ฐ€ 1๋ถ€ํ„ฐ s์˜ ๊ธธ์ด๊นŒ์ง€ (len(s)+1) ๋Œ๋„๋ก ์„ค์ •
for i in range(1, len(s) + 1):
    # i๊ฐ€ ๋ฌธ์ž์—ด ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ณ , ์ด์ „ ๋ฌธ์ž์™€ ํ˜„์žฌ ๋ฌธ์ž๊ฐ€ ์—ฐ์†๋˜๋Š” ์ˆ˜๋ฉด ans์— ์ด์–ด ๋ถ™์ž„
    if i < len(s) and int(s[i - 1]) == int(s[i]) - 1:
        ans += s[i]
    else:
        # ์—ฐ์†์ด ๋Š๊ธฐ๋ฉด ์ง€๊ธˆ๊นŒ์ง€์˜ ans ๊ธธ์ด๊ฐ€ 3์ธ์ง€ ํ™•์ธ
        if len(ans) == 3:
            count += 1
        # ans๋ฅผ ์ƒˆ๋กœ ์‹œ์ž‘
        ans = ""
        # i๊ฐ€ ์—ฌ์ „ํžˆ s ๋ฒ”์œ„ ์•ˆ์— ์žˆ์œผ๋ฉด ans์— ์ƒˆ ๋ฌธ์ž ์ถ”๊ฐ€
        if i < len(s):
            ans += s[i]
 
print(count)