문제
코드
My answer
import sys
input=sys.stdin.readline
n,t=input().split()
cnt=0
for i in range(int(n)+1):
if(i<10):tmp='0'+str(i)
else:tmp=str(i)
if(t in tmp):
cnt+=3600
continue
for j in range(60):
if(j<10):tmp1='0'+str(j)
else:tmp1=str(j)
if(t in tmp1):
cnt+=60
continue
for k in range(60):
if(k<10):tmp2='0'+str(k)
else:tmp2=str(k)
if(t in tmp2):
cnt+=1
print(cnt)
Another answer
n,t=map(int,input().split())
print(sum(str(t)in'%02d'*3%(i//3600,i//60%60,i%60)for i in range(-~n*3600)))
n, k = map(int,input().split())
ans = 0
for h in range(n+1):
for m in range(60):
for s in range(60):
ans+= str(k) in f"{h:02d}{m:02d}{s:02d}"
print(ans)
풀이
문제자체는 브루트포스로 해결하면 되는데 잘푼것 같은데 틀렸다 싶으면 0을 잘 보길 바란다. 1,2,3이런식이 아니라 01,02,03 이렇게 나아간다. 그래서 아래 두가지 코드는 그 0을 추가해주는 방식이 달라서 작성해보았다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #1969- DNA (0) | 2022.01.05 |
---|---|
[Python] 백준 #15721- 뻔데기 (0) | 2022.01.05 |
[Python] 백준 #19536- 수학은 비대면 강의입니다. (0) | 2022.01.05 |
[Python] 백준 #2231- 분해합 (0) | 2022.01.04 |
[Python] 백준 #2798- 블랙잭 (0) | 2022.01.04 |