문제 - 시각
- 정수 N이 입력되면 00시 00분 00초부터 N시 59분 59초까지 모든 시각 중에서 3이 하나라도 포함되는 모든 경우의 수를 구하는 프로그램을 작성하라
제한 사항
- 첫째 줄에 정수 N이 입력된다. (0 <= N <= 23)
아이디어
반복문
- 반복문을 돌면서 3이 포함되는 경우 개수를 센다.
코드
def solution(n: int) -> int:
ret = 0
for h in range(n + 1):
for m in range(60):
for s in range(60):
if 3 in [h // 10, h % 10, m // 10, m % 10, s // 10, s % 10]:
ret += 1
return ret
def solution(n: int) -> int:
count = 0
for h in range(n + 1):
for m in range(60):
for s in range(60):
if '3' in str(h) + str(m) + str(s):
count += 1
return count
if __name__ == '__main__':
n = int(input())
print(solution(n))
개선할 점
-
처음에 3이 나오는 경우인줄 알고, 코드를 다르게 작성하였는데 문제를 꼼꼼히 읽어봐야겠다.
-
문자열도
in
연산이 되는지 몰랐었는데 다음부터는 리스트로 변환하지말고 바로 문자열에in
연산을 사용해야겠다.
참고 문헌
>> Home