Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

똥그래미 코딩공장

백준 1475(방번호) 파이썬 본문

Algorithm

백준 1475(방번호) 파이썬

동그라미_ssu 2022. 12. 21. 20:31

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

 

1475번: 방 번호

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

www.acmicpc.net

방 번호 문제는 간단한 구현 문제이다. 최근 코딩테스트에서 구현문제의 비율이나 난이도가 높아지는 중이여서 구현문제는 꾸준히 풀어 볼 생각이다.

 

import math
num = list(map(int,input()))
dup_list = []

for i in range(10):
    cnt = num.count(i) // 0부터9까지의 숫자들이 각각 몇번씩 들어갔는지 그 횟수를 dup_list에 담아준다
    dup_list.append(cnt)
    print(dup_list)
    
if max(dup_list) in dup_list[0:6] or max(dup_list) in dup_list[7:9]:
    print (max(dup_list))
    
elif dup_list[6] == max(dup_list) or dup_list[9] == max(dup_list):
    max=(dup_list[6] + dup_list[9])/2
    max=math.ceil(max)
    print(max)

첫번째 if 문은 가장 많이 적힌 숫자의 갯수가 곧 정답의 갯수와 동일하므로 6과9를 제외한 숫자에서 가장 많은 값이 나온경우 그 숫자의 갯수를 출력해준다

elif 문은 6과 9가 가장많이 적혔을때이다. 6과 9는 동일한 숫자로 취급하므로 두 숫자의 적힌 횟수를 더한후 절반으로 나눠줘야한다 그래야 99같은 숫자가 나와도 1번의 숫자세트만 필요하면 되기 때문이다. 그러고 올림을 해 그 숫자를 출력해준다.

그닥 어려운 문제는 아니였던거 같다.