[ 2023-06-14 ๐Ÿ™ TIL ]

Burkeyยท2023๋…„ 6์›” 14์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
99/157

๋ฐฑ์ค€ 1475๋ฒˆ ํŒŒ์ด์ฌ


๋ฌธ์ œ


๋ฌธ์ œ ํ’€์ด

import sys

input = sys.stdin.readline

n = input().strip()
set_count = 1
number_set = { str(i):1 for i in range(10)} 
# 0 ~ 9๊นŒ์ง€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์˜ ๊ฐฏ์ˆ˜

for i in range(len(n)):
  if number_set[n[i]] > 0:
   # ํ•„์š”ํ•œ ์ˆซ์ž์นด๋“œ๊ฐ€ ์กด์žฌ ํ•  ์‹œ ์‚ฌ์šฉํ•จ
    number_set[n[i]] -= 1
    
  elif  number_set[n[i]] == 0 and (n[i] == '9' or n[i] == '6') : 
  # 9์™€ 6์„ ๋’ค์ง‘์–ด ๋ณด์•˜์„ ๋•Œ์˜ ์ˆซ์ž ์นด๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธ
    if n[i] == '9' and number_set["6"] > 0:
        number_set["6"] -= 1
    elif n[i] == '6' and number_set["9"] > 0:
        number_set["9"] -= 1
    else:
    # 9์™€ 6์„ ๋’ค์ง‘์–ด ๋ด๋„ ์ˆซ์ž ์นด๋“œ๊ฐ€ ์—†์œผ๋ฉด ์ƒˆ๋กœ์šด ์ˆซ์ž์นด๋“œ ์„ธํŠธ๋ฅผ ์ถ”๊ฐ€
      set_count += 1
      for k, v in number_set.items():
        if k != n[i]: 
        # ํ˜„์žฌ ํ•„์š”ํ•œ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ์— ์ฆ๊ฐ€ ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
          number_set[k] = v + 1
          
  else:
  # ์œ„์— ์ฝ”๋“œ์™€ ๋™์ผ 
    set_count += 1
    for k, v in number_set.items():
      if k != n[i]:
        number_set[k] = v + 1
        
print(set_count)

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ.. ์ข€ ๋” ๊ฐ€๋…์„ฑ ์ข‹๊ณ  ํšจ์œจ์„ฑ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ด์•ผ ๊ฒ ๋‹ค ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€