백준(Python) 풀이/구현

백준(Python) 1475번 방 번호 풀이

개발윗미 2021. 10. 30. 12:58

Python으로 구현한 1475번 방 번호 문제 풀이입니다.

 

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

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net


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에 담겨있는 값 중 최댓값을 출력한다.