
https://www.acmicpc.net/problem/1871
문제 전문은 링크 참조
문제가공
- ‘-’ 기준으로 문자열을 분리한다 앞은 알파벳, 뒤는 숫자
- 앞의 문자열은 알파벳의 순서 * 26진법화
- 앞의 값과 뒤의 값의 차이가 100이하면 좋은 번호판. 아니면 나쁜 번호판
코드작성
- 앞의 문자열을 숫자화 하는 메서드를 별도로 분리.
- 아스키코드를 이용하여 알파벳의 자리수를 체크하고 26 진법화
N = int(input())
def GetFScore(f):
reverse_f = f[::-1]
answer= 0
for i,c in enumerate(reverse_f):
c_num = ord(c) - ord('A')
answer += c_num * (26 ** i)
return answer
for _ in range(N):
f,s = input().split('-')
f_score = GetFScore(f)
s_score = int(s)
if abs(f_score - s_score) <= 100:
print('nice')
else:
print('not nice')
'Python > 백준 (BOJ)' 카테고리의 다른 글
| [BOJ][B2]오각형, 오각형, 오각형… - 1964 (3) | 2025.08.16 |
|---|---|
| [BOJ][B2]애너그램 만들기 - 1919 (0) | 2025.08.15 |
| [BOJ][B2]문어 숫자 - 1864 (0) | 2025.08.13 |
| [BOJ][B2]폭죽쇼- 1773 (3) | 2025.08.12 |
| [BOJ][B2]추론 - 1731 (0) | 2025.08.11 |