[6日間]実施視点
4883 ワード
🏆Today Code Test
🛠Problem Approach
質問する
整数Nを入力する場合は、00時00分00秒からN時59分59秒までのすべての時刻のうち、3が1つでも任意の時刻の数字を求めるプログラムを作成します.
🔑Solution
方法
すべての可能な角度から逐一計算して解決できる問題です.
したがって、時間を1ずつ増やし、少なくとも1つの3が含まれていることを確認する.
◇徹底探索(ブルート・フォーシング)
可能な限り、すべての数のナビゲーションを確認します.
Pythonの毎秒演算回数は2000万回よりはるかに小さいため,完全に探索が可能である.
マイコード
🛠Problem Approach
質問する
整数Nを入力する場合は、00時00分00秒からN時59分59秒までのすべての時刻のうち、3が1つでも任意の時刻の数字を求めるプログラムを作成します.
🔑Solution
方法
すべての可能な角度から逐一計算して解決できる問題です.
したがって、時間を1ずつ増やし、少なくとも1つの3が含まれていることを確認する.
◇徹底探索(ブルート・フォーシング)
可能な限り、すべての数のナビゲーションを確認します.
for i in range(n+1):
for j in range(60):
for k in range(60):
if '3' in str(i)+str(j)+str(k):
cnt += 1
すべての場合の数は24 x 60 x 60=86400である.Pythonの毎秒演算回数は2000万回よりはるかに小さいため,完全に探索が可能である.
マイコード
n = int(input())
cnt = 0
checker = sum([1 if '3' in str(j) else 0 for j in range(60)])
for i in range(n+1):
if i == 3 or i == 13 or i == 23:
cnt += 3600 # 60 x 60, 시간에 3이 들어가므로
else:
cnt += ((60 - checker) * checker) + (checker * 60) # 분 단위별 '3' 카운트
print(cnt)
Reference
この問題について([6日間]実施視点), 我々は、より多くの情報をここで見つけました https://velog.io/@mins_g/일차-Implementation시각テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol