dalgorithm
달공의 개발기
dalgorithm
전체 방문자
오늘
어제
  • 분류 전체보기 (170)
    • Back-end (0)
    • Java (11)
    • 자료구조 (7)
    • Network (31)
    • Database (9)
    • Baekjoon Online (24)
    • 클라우드 (6)
    • Android (15)
      • Kotlin (14)
    • AI (27)
      • Machine Learning&Deep Learn.. (27)
    • Web (23)
      • Webhacking (17)
      • WebProgramming (6)
    • 기술면접 (1)
      • JAVA&자료구조 (0)
      • Spring (0)
      • 컴퓨터구조&운영체제 (0)
      • 네트워크 (0)
      • 데이터베이스 (0)
    • CTF 스터디 (15)
    • 대외활동 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • db
  • gcp
  • python #백준
  • 포너블
  • cs
  • 네트워크
  • java
  • CTF
  • 딥러닝
  • 자료구조
  • 자바
  • 클라우드
  • kotlin
  • 머신러닝
  • 인공지능
  • 코드리뷰
  • 침입탐지
  • 데이터베이스
  • Guacamole
  • 웹해킹

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dalgorithm

달공의 개발기

[python] 백준 1475번_방 번호
Baekjoon Online

[python] 백준 1475번_방 번호

2021. 1. 15. 22:28
728x90

출처: www.acmicpc.net/problem/1475

1475번: 방 번호

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

www.acmicpc.net

방 번호 분류

시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초128 MB31131116611020638.957%

문제

다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.

다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)

입력

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

출력

첫째 줄에 필요한 세트의 개수를 출력한다.

예제 입력 1

9999

예제 출력 1

2


이 문제에서 가장 주의해야할 부분은 '6'과 '9'의 계산이다. 위의 예제를 보았을 때, 9999이면 한 세트에 0부터 9까지 있는데, 6도 9로 사용이 가능하기 때문에 총 2세트가 필요한 것이다. 이처럼 방 번호에서 6이나 9가 나왔을 경우에는, set[5]는 숫자 6에 대한 것인데 1을 채우지 않고 0.5로 채운다. 나중에 또 다르게 6과 9로 쓰일 수 있기 때문이다.

 

그리고 6과 9가 아닐경우에는 그냥 숫자에 +1을 해주면 된다. 최종적으로 set[i] 숫자 중 가장 큰 수를 갖고 있는 숫자를 출력하기 위해 math의 ceil을 이용해주었다. 그리고 max(set)을 해주면 된다.

 

6과 9에서 헷갈리는 부분을 빠르게 캐치한다면 쉽게 풀리지만, 방향을 잘 못 잡으면 오래 걸릴 것 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
import math
 
roomNum = list(map(int, str(input())))
set= [0] * 9
 
for i in roomNum:
    if i == 6 or i == 9:
        set[5] += 0.5
    else:
        set[i] += 1
 
print(math.ceil(max(set)))
cs
728x90

'Baekjoon Online' 카테고리의 다른 글

[python] 백준 1110번_더하기 사이클  (0) 2021.01.17
[python] 백준 3040번_백설 공주와 일곱 난쟁이  (0) 2021.01.16
[python] 백준 2525번_오븐 시계  (0) 2021.01.14
[python] 백준 2941번_크로아티아 알파벳  (0) 2021.01.13
[C++] 백준 2839번_설탕 배달  (0) 2021.01.12
    'Baekjoon Online' 카테고리의 다른 글
    • [python] 백준 1110번_더하기 사이클
    • [python] 백준 3040번_백설 공주와 일곱 난쟁이
    • [python] 백준 2525번_오븐 시계
    • [python] 백준 2941번_크로아티아 알파벳
    dalgorithm
    dalgorithm

    티스토리툴바