https://www.acmicpc.net/problem/1475
1475번: 방 번호
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
풀이
간단하다, 123456789면 1개가 필요하고 11이면 2개가 필요한 문제에서 뒤집으면 형태가 같은 6,9가 동시에 있을 경우 카운트를 하나 빼주거나 2로 나누어주면 되는 문제.
코드
room_num = input() #방 번호 입력
cnt = [0] * 9 #번호는 0~9까지 입력 가능하므로 번호를 저장할 9개의 공간을 만듦
for x in room_num: #방번호 길이만큼 실행
ind = int(x) #6=9를 실행할 변수 저장
if ind == 9:
ind = 6
cnt[ind] += 1 #6=9는 같므로 있을경우 카운트
cnt[6] = (cnt[6]+1) // 2 #6또는 9일경우 2로 나누어 필요한 개수를 올바르게 저장
print(max(cnt)) #그중에서 최댓값을 출력
'백준 > python' 카테고리의 다른 글
1212: 8진수 2진수(python) (0) | 2023.09.13 |
---|---|
1076: 저항(python) (0) | 2023.09.13 |
1427: 소트인사이드(python) (0) | 2023.09.13 |
1789: 수들의 합(python) (0) | 2023.09.13 |
1181: 단어 정렬(python) (0) | 2023.09.13 |