https://www.acmicpc.net/problem/2966
문제 전문은 링크 참조
문제가공
- 정답 문자열을 입력받는다.
- 반복되는 ‘ABC’ , ‘BABC’ , ’CCAABB’ 문자열에서 정답과 가장 많이 맞은 개수와 사람을 출력한다.
- (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 |