728x90
반응형
* 해당 문제 및 해설은 "이것이 코딩 테스트 다 with 파이썬" 책을 기준으로 요약 및 정리 하여 작성하였습니다.
http://www.yes24.com/product/goods/91433923
아이디어를 코드로 바꾸는 구현
구현 이란 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정' 이다.
구현 문제 유형은 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념이다.
문제 설명 : 구현 시각
정수 N이 입력되면 00시 00분 00초 부터 N 시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오.
예를 들어 1을 입력했을 때 다음은 3이 하나라도 포함되어 있더라도 세어야 하는 시각이다.
- 00시 00분 03초
- 00시 13분 30초
반면에 다음은 3이 하나라도 포함되어 있지 않으므로 세면 안 되는 시각이다.
- 00시 02분 55초
- 01시 27분 45초
입력 조건
- 첫째 줄에 정수 N 이 입력된다. (0 ≤ N ≤ 23)
출력 조건
- 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.
예시
입력 예시 | 출력 예시 |
5 | 11475 |
답변 및 해설
# N 을 입력받기
n = int(input())
result = 0
for h in range(N+1):
for m in range(60):
for s in range(60):
# 매 시각 안에 '3'이 포함되어 있다면 카운트 증가
if '3' in str(h) + str(m) + str(s):
result += 1
print(result)
개인적인 생각
필자는 다음과 같은 코드를 작성하면서, 시간복잡도에 걸리지 않을까 걱정하였다.
하지만 책에서는 다음과 같이 설명하고 있다.
알고리즘 문제를 풀 때는 확인(탐색) 해야 할 전체 데이터의 개수가 100만 개 이하일 때 완전 탐색을 사용하면 적절하다.
오늘의 개발자 명언
오늘날 대부분의 소프트웨어는 구조적 고민없이 그냥 벽돌 한장씩 쌓아올린 피라미드 같다.
더구나 수천 만의 노예와 폭력들로 쌓아 올려졌다.
(Alan Kay, 객체지향 프로그래밍의 아버지)
출처 : 프로그래밍에 관한 명언 101가지
728x90
반응형
'개발 > Coding Test - Python' 카테고리의 다른 글
[Python] 이것이 코딩테스트다 with 파이썬 - 탐색 알고리즘 DFS/BFS - DFS(Depth-First-Search)편 (0) | 2023.01.21 |
---|---|
[Python] 이것이 코딩테스트다 with 파이썬 - 구현 - 왕실의 나이트 (0) | 2023.01.21 |
[Python] 이것이 코딩테스트다 with 파이썬 - 구현 - 상하좌우 (0) | 2023.01.20 |
[Python] 이것이 코딩테스트다 with 파이썬 - 구현이란? (0) | 2023.01.20 |
[Python] 이것이 코딩테스트다 with 파이썬 - 그리디 - 1이 될 때 까지 (2) | 2023.01.19 |