Skip to content

BOJ19696_차량_번호판2_실버5_조재은 #49

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

jojaegu2
Copy link
Collaborator

**이 문제는 주어진 차량 번호판 형식에 따라 가능한 차량 번호판의 개수를 계산하는 문제입니다. 차량 번호판 형식은 'c'와 'd'로 이루어져 있으며, 'c'는 문자가 위치하는 자리, 'd'는 숫자가 위치하는 자리를 나타냅니다. 또한, 같은 문자 또는 숫자가 연속해서 나타나면 안 됩니다.

문제 해결 방법:

첫 번째 문자 또는 숫자는 자유롭게 선택할 수 있으므로, 'c'의 경우 26가지, 'd'의 경우 10가지 선택이 가능합니다.
두 번째 문자 또는 숫자부터는 바로 이전에 선택한 문자 또는 숫자와 달라야 하므로, 'c'의 경우 25가지('c'가 연속되지 않도록), 'd'의 경우 9가지('d'가 연속되지 않도록) 선택이 가능합니다.
**
MOD = 1000000009
MOD 변수는 문제에서 주어진 나머지 연산을 위한 값입니다. 계산 결과를 이 값으로 나눈 나머지를 최종적으로 출력합니다.

plate_format = input()
plate_format 변수는 사용자로부터 입력받은 차량 번호판 형식을 저장합니다. 이 형식은 'c'(문자)와 'd'(숫자)로 구성되어 있습니다.

if plate_format[0] == 'c': count = 26 # 문자의 경우 가능한 경우의 수는 26가지 else: count = 10 # 숫자의 경우 가능한 경우의 수는 10가지

첫 번째 문자에 대한 처리입니다. 첫 번째 문자가 'c'인 경우, 가능한 경우의 수는 26가지(알파벳 소문자 개수)입니다. 'd'인 경우는 10가지(0부터 9까지 숫자)입니다. 이 값을 count 변수에 저장합니다.

for i in range(1, len(plate_format)):

이 for 반복문은 두 번째 문자부터 마지막 문자까지 순회합니다. 첫 번째 문자의 경우는 이미 처리했으므로, 이제 나머지 문자에 대한 처리를 합니다.

if plate_format[i] == 'c': count = (count * 25) % MOD # 이전에 선택한 문자와 달라야 하므로 25가지

현재 문자가 'c'인 경우, 이전 문자와 달라야 하므로, 가능한 경우의 수는 25가지입니다. 이전 문자가 'c'였더라도, 동일한 문자를 연속해서 사용할 수 없으므로, 26가지 중에서 이전 문자를 제외한 25가지를 선택할 수 있습니다.
else: count = (count * 9) % MOD # 이전에 선택한 숫자와 달라야 하므로 9가지

현재 문자가 'd'인 경우도 마찬가지로, 이전 숫자와 달라야 하므로 가능한 경우의 수는 9가지입니다. 10가지 숫자 중 이전에 사용한 숫자를 제외한 9가지를 선택할 수 있습니다.

print(count)
마지막으로, 계산된 count 값을 출력합니다. 이 값은 주어진 번호판 형식에 따른 가능한 차량 번호판의 총 개수를 나타냅니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant