Python/백준 (BOJ)

[BOJ][B2]찍기 - 2966

ㅋㅋ! 2025. 9. 17. 13:00

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

문제 전문은 링크 참조

문제가공

  1. 정답 문자열을 입력받는다.
  2. 반복되는 ‘ABC’ , ‘BABC’ , ’CCAABB’ 문자열에서 정답과 가장 많이 맞은 개수와 사람을 출력한다.
  3. (Adrian : ‘ABC’ , Bruno : ’BABC’ , Goran : ‘CCAABB’)

코드작성

"정답문자열의 Index % 비교문자열의 길이" 로 정답 문자열의 자리수와 비교 문자열의 자리수를 일치시켜 정답을 비교한다.

Adrian = 'ABC'
Bruno = 'BABC'
Goran ='CCAABB'
N = int(input())
s = input()

arr = {'Adrian':0,'Bruno':0,'Goran':0}

for idx,c in enumerate(s):
    if Adrian[idx%len(Adrian)] == c : arr['Adrian']+=1
    if Bruno[idx%len(Bruno)] == c : arr['Bruno']+=1
    if Goran[idx%len(Goran)] == c : arr['Goran']+=1

max_val = max(arr.values())
print(max_val)
for i in arr:
    if max_val == arr[i]:print(i)
   

 

'Python > 백준 (BOJ)' 카테고리의 다른 글

[BOJ][B2]8진수 - 2998  (0) 2025.09.19
[BOJ][B2]트럭 주차 - 2979  (0) 2025.09.18
[BOJ][B2]창영이의 일기장 - 2954  (0) 2025.09.16
[BOJ][B2]2009년 - 2948  (0) 2025.09.15
[BOJ][B2]캔디 구매- 2909  (0) 2025.09.14