Python/백준 (BOJ)

[BOJ][B2]좋은 자동차 번호판 - 1871

ㅋㅋ! 2025. 8. 14. 13:00

 

https://www.acmicpc.net/problem/1871

문제 전문은 링크 참조

문제가공

  1. ‘-’ 기준으로 문자열을 분리한다 앞은 알파벳, 뒤는 숫자
  2. 앞의 문자열은 알파벳의 순서 * 26진법화
  3. 앞의 값과 뒤의 값의 차이가 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