일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- mock
- compose
- Di
- UnitTest
- 안드로이드
- 디자인패턴
- git
- Jetpack
- rxjava
- 코틀린
- Observable
- 깃
- Android
- Room
- ViewModel
- 단위테스트
- 유닛테스트
- Python
- 컴포즈
- 파이썬
- MVVM
- 코딩테스트
- dagger2
- 공격적 프로그래밍
- 안정성
- Kotlin
- 자료구조
- 안드로이드 디자인패턴
- 테스트의 장점
- 제한함수
Archives
- Today
- Total
세상을 바꾸는 개발자
[코딩테스트] 시각 (파이썬) 본문
< 시각 > : 난이도 하
<문제>
정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하시오.
<입력 조건>
- 첫째 줄에 정수 N이 입력된다. (0 <= N <= 23)
<출력 조건>
- 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 출력한다.
<입력 예시>
- 5
<출력 예시>
- 511475
[나만의 풀이]
n = int(input("정수를 입력하세요"))
count = 0;
for a in range(0, n + 1):
for b in range(0, 60):
for c in range(0, 60):
a_str = str(a)
b_str = str(b)
c_str = str(c)
if "3" in a_str + b_str + c_str:
count += 1
print(count)
실행결과
< 나의 풀이 방법 >
사실 이번 문제도 엄청 쉬운 문제였습니다. 약간 탐색 느낌이었는데 경우의 수가 그렇게 크지 않고
정해져 있는 (최대 86400개) 문제였기 때문에 무식? 하게 그냥 중첩 반복문만 사용해도 풀 수 있었습니다.
여튼 n* 60 * 60으로 3중 반복문을 사용하고 문자열로 변환한 다음 찾으면 됩니다!
참고한 책 주소
'코딩테스트 > Python' 카테고리의 다른 글
[코딩테스트] 왕실의 나이트 (파이썬) (1) | 2021.09.01 |
---|---|
[코딩테스트] 상하좌우(파이썬) (3) | 2021.08.30 |
[코딩테스트] 1이 될때까지(파이썬) (0) | 2021.08.30 |
[코딩테스트] 숫자 카드게임(파이썬) (0) | 2021.08.30 |
[코딩테스트] 큰수의 법칙(파이썬) (0) | 2021.08.30 |
Comments