alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 2966 찍기_파이썬 본문
2966 찍기 www.acmicpc.net/problem/2966
문제 풀기 전 공부할 것 : 구현, 브루트포스 알고리즘
풀이 1
<내용>
- 규칙에 맞도록 하나씩 구현했다.
<코드>
A, B, G = 0, 0, 0
n = int(input())
correct = input()
for i in range(n):
if i % 3 == 0:
if correct[i] == 'A':
A += 1
elif i % 3 == 1:
if correct[i] == 'B':
A += 1
else:
if correct[i] == 'C':
A += 1
if i % 4 == 0 or i % 4 == 2:
if correct[i] == 'B':
B += 1
elif i % 4 == 1:
if correct[i] == 'A':
B += 1
else:
if correct[i] == 'C':
B += 1
if i % 6 == 0 or i % 6 == 1:
if correct[i] == 'C':
G += 1
elif i % 6 == 2 or i % 6 == 3:
if correct[i] == 'A':
G += 1
else:
if correct[i] == 'B':
G += 1
m = max(A, B, G)
print(m)
if m == A:
print('Adrian')
if m == B:
print('Bruno')
if m == G:
print('Goran')
풀이 2
<내용>
- 규칙에 맞도록 간단하게 구현했다.
<코드>
A, B, G = 0, 0, 0
Adrian = ['A', 'B', 'C']
Bruno = ['B', 'A', 'B', 'C']
Goran = ['C', 'C', 'A', 'A', 'B', 'B']
n = int(input())
correct = input()
for i in range(n):
if correct[i] == Adrian[i%3]:
A += 1
if correct[i] == Bruno[i%4]:
B += 1
if correct[i] == Goran[i%6]:
G += 1
m = max(A, B, G)
print(m)
if m == A:
print('Adrian')
if m == B:
print('Bruno')
if m == G:
print('Goran')
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 2607 비슷한 단어_파이썬 (0) | 2020.10.13 |
---|---|
[알고리즘][Python] 백준(BOJ) 1940 주몽_파이썬 (0) | 2020.10.12 |
[알고리즘][Python] 백준(BOJ) 2608 로마 숫자_파이썬 (0) | 2020.10.10 |
[알고리즘][Python] 백준(BOJ) 9536 여우는 어떻게 울지?_파이썬 (0) | 2020.10.09 |
[알고리즘][Python] 백준(BOJ) 2693 N번째 큰 수_파이썬 (0) | 2020.10.08 |
Comments