๊ธ€ ์ž‘์„ฑ์ž: ์ด์ง€์›๐ŸŒฉ๏ธ
 

2941๋ฒˆ: ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ

๋ฌธ์ œ ์˜ˆ์ „์—๋Š” ์šด์˜์ฒด์ œ์—์„œ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•ด์„œ ์ž…๋ ฅํ–ˆ๋‹ค. ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ฤ c= ฤ‡ c- dลพ dz= ฤ‘ d- lj lj nj nj š s=

www.acmicpc.net

 

๋ฌธ์ œ

์˜ˆ์ „์—๋Š” ์šด์˜์ฒด์ œ์—์„œ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•ด์„œ ์ž…๋ ฅํ–ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ljes=njak์€ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ 6๊ฐœ(lj, e, š, nj, a, k)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ช‡ ๊ฐœ์˜ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.
dลพ๋Š” ๋ฌด์กฐ๊ฑด ํ•˜๋‚˜์˜ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์“ฐ์ด๊ณ , d์™€ ลพ๊ฐ€ ๋ถ„๋ฆฌ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ง€ ์•Š๋Š”๋‹ค. lj์™€ nj๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ์œ„ ๋ชฉ๋ก์— ์—†๋Š” ์•ŒํŒŒ๋ฒณ์€ ํ•œ ๊ธ€์ž์”ฉ ์„ผ๋‹ค.

 

๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

# <https://www.acmicpc.net/problem/2941>
# ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ
# c=, c-, dz=, d-, lj, nj, s=, z=

import sys

text = sys.stdin.readline().strip()
i = 0
num = 0

if len(text) < 2:
    print(1)
else:
    while i < len(text):
        if i + 1 >= len(text):
            num += 1
            break
        if text[i] == "c" and text[i+1] == "=" or text[i+1] == "-":
            num += 1
            i += 2
            continue
        if text[i] == "d":
            if text[i+1] == "-":
                num += 1
                i += 2
                continue
            elif i+2 < len(text) and (text[i+1] == "z" and text[i+2] == "="):
                num += 1
                i += 3
                continue
        if text[i] == "l" and text[i+1] == "j":
            num += 1
            i += 2
            continue
        if text[i] == "n" and text[i+1] == "j":
            num += 1
            i += 2
            continue
        if text[i] == "s" and text[i+1] == "=":
            num += 1
            i += 2
            continue
        if text[i] == "z" and text[i+1] == "=":
            num += 1
            i += 2
            continue
        i += 1
        num += 1

    print(num)

 

  • ์–ด๋–ป๊ฒŒ ๋ฌธ์ž๋ฅผ ๋น„๊ตํ•˜๋Š”๊ฒŒ ์ข‹์„ ์ง€ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€, ๊ฐ€์žฅ ์‰ฌ์šด if๋ฌธ์„ ๋–ก์น ํ•˜๋Š” ๊ฒƒ์œผ๋กœ(...) ํ’€์—ˆ๋‹ค.

  • vscode์—์„œ ์‹คํ–‰ํ•  ๋•Œ๋Š” ์ •์ƒ ์ถœ๋ ฅ์ธ๋ฐ, ๋ฐฑ์ค€์—์„œ๋Š” ๊ณ„์† ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋– ์„œ ๊ตฌ๊ธ€๋ง์„ ํ–ˆ๋‹ค. ์ด์œ ๋Š”, i+1์ด๋‚˜ i+2์˜ ์œ„์น˜ํ•œ ๋ฌธ์ž๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ(์ž…๋ ฅ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ์ธ๋ฑ์Šค๊ฐ€ ํฐ ๊ฒฝ์šฐ)๋ฅผ ๊ฒ€์‚ฌํ•˜์ง€ ์•Š์•„์„œ์˜€๋‹ค. ๊ทธ๋ž˜์„œ ์ค‘๊ฐ„์— i+1, i+2๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

  • lj, nj, s=, z=๋ฅผ ์ „๋ถ€ ํ•œ๋ฒˆ์— ๊ฒ€์‚ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ๋ฐ”๊ฟ”๋ดค์—ˆ๋Š”๋ฐ, ์ฝ”๋“œ ๊ธธ์ด๋Š” ์ค„์–ด๋“ค์—ˆ์ง€๋งŒ ์˜คํžˆ๋ ค ์‹œ๊ฐ„์ด ๋” ์ฆ๊ฐ€ํ–ˆ๋‹ค.

      if text[i] == "l" and text[i+1] == "j" or text[i] == "n" and text[i+1] == "j" or text[i] == "s" and text[i+1] == "=" or text[i] == "z" and text[i+1] == "=":
          num += 1
          i += 2
          continue
๋ฐ˜์‘ํ˜•