728x90
문제
문제 링크 : https://www.acmicpc.net/problem/16968
16968번: 차량 번호판 1
00부터 99까지 총 100가지 중에서 00, 11, 22, 33, 44, 55, 66, 77, 88, 99가 불가능하다.
www.acmicpc.net
입력 복사
> 예제 입력 1
dd
> 예제 입력 2
cc
> 예제 입력 3
dcdd
CODE 1
s = input()
if s[0] == 'c':
answer = 26
else:
answer = 10
for i in range(1, len(s)):
if s[i] == 'c':
if s[i - 1] == 'c':
answer *= 25
else:
answer *= 26
else:
if s[i - 1] == 'd':
answer *= 9
else:
answer *= 10
print(answer)
CODE 2
forms = {'c': 26, 'd': 10}
s = input()
answer = forms[s[0]]
for i in range(1, len(s)):
mul = forms[s[i]]
if s[i] == s[i - 1]:
mul -= 1
answer *= mul
print(answer)
풀이
'c' 는 문자가 위치하는 자리이므로 26가지가 가능하고,
'd'는 숫자가 위치하는 자리이므로 10가지가 가능하다.
연속해서 나타나는 경우는 c와 d 각각 (26-1), (10-1) 가지 가능하다
CODE 1의 경우 c와 d가 연속하는 경우를 알기 위해, 모든 조합을 조건문으로 작성하였다
CODE 2의 경우 c와 d일 때 가능한 수를 딕셔너리로 선언한 후, 조건문 대신 키 값을 찾아와 사용하였다.
결과
728x90
'Baekjoon' 카테고리의 다른 글
[BOJ / 백준] 16938번 캠프 준비 파이썬(Python) 문제 풀이 (0) | 2021.07.25 |
---|---|
[BOJ / 백준] 16937번 두 스티커 파이썬(Python) 문제 풀이 (5) | 2021.07.23 |
[BOJ / 백준] 16936번 나3곱2 파이썬(Python) 문제 풀이 (0) | 2021.07.23 |
[BOJ / 백준] 16922번 로마 숫자 만들기 파이썬(Python) 문제 풀이 (0) | 2021.07.21 |
[BOJ / 백준] 16917번 양념 반 후라이드 반 파이썬(Python) 문제 풀이 (0) | 2021.07.20 |