Python으로 구현한 1475번 방 번호 문제 풀이입니다.
https://www.acmicpc.net/problem/1475
n = input()
count = {'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0}
for i in range(len(n)) :
if n[i] in ['6', '9'] :
count['6'] += 1
else :
count[n[i]] += 1
if count['6'] % 2 == 0:
count['6'] = count['6'] // 2
else :
count['6'] = count['6'] // 2 + 1
print(max(count.values()))
문제에서 제시한 바와 같이 6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있기 때문에
두 수를 6으로 통일시킨다.
입력받은 문자열의 길이만큼 반복문을 돌리고 그 내부에서는 조건문을 통해 현재 확인하고 있는 수가 6과 9라면
6에 해당하는 값에 1을 증가시킨다. 그렇지 않을 경우 현재의 수에 해당하는 값을 1 증가시킨다.
반복문이 종료되면 6과 9의 통일한 값(개수)이 짝수라면 몫을 그대로 넣어주고, 홀수라면 몫에 1을 더한 값을 넣어준다.
최종적으로 count에 담겨있는 값 중 최댓값을 출력한다.
'백준(Python) 풀이 > 구현' 카테고리의 다른 글
백준(Python) 2522번 별 찍기 - 12 풀이 (0) | 2021.11.01 |
---|---|
백준(Python) 2743번 단어 길이 재기 풀이 (0) | 2021.11.01 |
백준(Python) 10808번 알파벳 개수 풀이 (0) | 2021.10.30 |
백준(Python) 2490번 윷놀이 풀이 (0) | 2021.10.30 |
백준(Python) 2443번 별 찍기 - 6 풀이 (0) | 2021.10.27 |