[백준][파이썬]** 16968번 - 차량 번호판 1


문제 번호 : 16968
문제 출처 : https://www.acmicpc.net/problem/16968

 

16968번: 차량 번호판 1

00부터 99까지 총 100가지 중에서 00, 11, 22, 33, 44, 55, 66, 77, 88, 99가 불가능하다.

www.acmicpc.net



Code

s = input()

if s[0] == 'd':
    result = 10
    state = 1
else:
    result = 26
    state = 0

for ch in s[1:]:
    if ch == 'd':
        result *= (10 - state)
        state = 1
    else:
        result *= (26 + state -1)
        state = 0

print(result)

Idea

  1. 입력을 받을 때 문자를 그대로 사용하기 위해서 따로 list형으로 변환하지 않음
  2. 입력의 첫 번째 문자가 d인지 c인지에 따라서 state라는 flag를 설정
  3. 두 번째 문자부터 확인하면서 상황에 맞게 가능한 갯수를 계산하여 곱 연산
  4. 상황에 맞게 state도 변경시켜준다.

+ Recent posts