일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- PYTHON
- 백준 #파이썬 #알고리즘 #코딩테스트
- Dijkstra
- java #자바 #나동빈
- 다익스트라
- 재귀
- dp
- css #웹 #생활코딩
- 알고리즘
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- java #자바
- 백준 #알고리즘 #파이썬 #코딩테스트
- react #리액트 #동빈나 #나동빈 #유튜브강의
- css #생활코딩 #웹
- java #자바 #생활코딩
- react #리액트 #동빈나
- 자바 #java
- 파이썬 #백준 #알고리즘 #코딩테스트
- 백트랙킹
- 코딩테스트
- 다이나믹프로그래밍
- BFS
- java #자바 #동빈나
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
- 프로그래머스
- 백준
- DFS
- 투포인터
Archives
- Today
- Total
커리까지
백준 1475번 방 번호 파이썬 본문
728x90
SMALL
문제링크
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
예제 입력 1
9999
예제 출력 1
2
제출 답안
import math
n = input().strip()
num_dic = {str(i):0 for i in range(10)}
for i in n:
if i not in ['6','9']:
num_dic[i] +=1
else:
num_dic['6'] += 0.5
for key,value in num_dic.items():
num_dic[key] = math.ceil(value)
num_dic = sorted(num_dic.values(),reverse=True)
print(num_dic[0])
- 우선 숫자를 문자열로 하나씩 쪼개서 받는다.
- 0~9까지 딕셔너리를 만들어 0으로 초기화시킨다.
- for문을 돌려서 6과9가 아니면 본인의 값에 1을 누적하고 6이나 6이면 6에 0.5씩 몰빵한다.
- 그 다음에 다시 math.ceil을 사용하여 .5의 값을 가진 6을 올림한다.
- 내림차순으로 정렬하여 처음 인덱스만 출력한다.
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
백준 5430번 AC 파이썬 (0) | 2021.02.09 |
---|---|
백준 3986번 좋은 단어 파이썬 (0) | 2021.02.04 |
프로그래머스 [1차] 다트 게임 파이썬 (0) | 2021.02.01 |
백준 1715번 카드 정렬하기 파이썬 (0) | 2021.01.30 |
백준 11441번 합 구하기 파이썬 (0) | 2021.01.28 |