디지털 시계에 하루동안(00:00~23:59) 3이 표시되는 시간을 초로 환산하면 총 몇 초(second) 일까요?
디지털 시계는 하루동안 다음과 같이 시:분(00:00~23:59)으로 표시됩니다.
00:00 (60초간 표시됨)
00:01
00:02
...
23:59
366개의 풀이가 있습니다.
Python으로 해 보았습니다. 결과는 29,700초 나왔습니다.
sumSec=0 # 초의 총합을 저장할 변수
for hour in range(24) : # 시간
for minute in range(60) : #분
if '3' in str(hour) or '3' in str(minute) : # 시간이나 분에 3이 들어가면
sumSec += 60 # 60초씩 더함
print(sumSec)
파이썬입니다.
def clock(num):
sec = 0
for h in range(24):
for m in range(60):
if str(num) in str(h) + str(m): # 문자열로 변환한 시간에 해당 숫자가 들어있으면
sec += 60
return sec
print(clock(3))
어떻게 풀까 생각해보다가 1시간 단위, 10분 단위로 루프를 돌면,
로 구현을 하면 쉬울거 같아서 해봤습니다.
package temp;
public class CD473 {
public static void main(String[] args) {
int minute3 = 0; //3이 나오는 분이 몇분인지 카운트
for(int h = 0; h < 24; h++){//시간루프
if(h == 3 || h == 13 || h == 23){//시간부터 3이 있다면
minute3+=60;
continue;//1시간 추가 후 다음시간
} else for(int m_10 = 0; m_10 < 6; m_10++){//시간에 3이 없다면 - 10분단위 루프
if(m_10 == 3){//30분이라면
minute3+= 10;
continue;//10분 추가 후 다음 10분
} else minute3++;//30분 아니면 1분 추가
}
}
System.out.println(minute3*60);
}
}
29700초 나오더군요
result =0
for s in range(24):
for b in range(60):
if '3' in str(s) or '3' in str(b):
result += 60
print(result)
29,700 나오네요.
var totalSec = 0;
for (var h = 0; h < 24; ++h) {
for (var m = 0; m < 60; ++m) {
if (Math.floor(h / 10) === 3 || h % 10 === 3 || Math.floor(m / 10) === 3 || m % 10 === 3) {
totalSec += 60;
}
}
}
console.log("total seconds: " + totalSec);
python 3.4
시간에 3 이 들어가면 60*60 값을 더한 다음에 넘기고, 시간에는 3 이 없고 분에 3 이 들어가면 60 을 더하여 값을 구했습니다.
s = 0
for h in range(24):
if "3" in str(h): s += (60*60)
else:
for m in range(60):
if "3" in str(m): s += 60
print(s)
print( 60 * len([h for h in range(24) for m in range(60) if str(h).find('3') != -1 or str(m).find('3') != -1]))
1일동안(00:00~23:59)의 모든 시간들을 초단위로 구한 후에 3이 포함되어 있는 시간들을 count 했습니다.
hour = 0
min = 0
sec = 0
count = 0
while True:
curtime = "%s:%s" % (hour, min)
if curtime.find("3") != -1:
count += 1
if hour == 23 and min == 59 and sec == 59:
break
elif min == 59 and sec == 59:
hour += 1
min = 0
sec = 0
elif sec == 59:
min += 1
sec = 0
else:
sec += 1
print count
결과는 29700초로 나오네요.
Using python
#!/usr/bin/python
#-*- coding : utf-8 -*-
time = 0
for i in range(24):
for j in range(60):
b = str(i) + str(j)
if b.find('3') > -1:
time += 60
print "total time : "+str(time)+" sec"
static void exce80()
{
//hour : 3,13,23 - 3
//min : 3 13 23 30 31 32 33 34 35 36 37 38 39 43 53 - 15
int n = 3*60*60;//3시간동안 3이 표시되어서 그것을 초로 변환
n += (24-3)*15*60;//위의 3시간을 뺴고 나머지 시간동안 분에서 3이 표시된 15번을 초로 변환
System.out.println(n);
}
요렇게 하면 금방 나오긴 하는데 이건 프로그래밍이 아니고 그냥 계산기 뚜드리는것 같아서 다시 짜 봤습니다.....
static void exce80()
{
//hour : 3,13,23 - 3
//min : 3 13 23 30 31 32 33 34 35 36 37 38 39 43 53 - 15
int n = 0;
for(int i=0;i<24;i++)
{
if(i%10 == 3)
n += 60*60;//시간에 3이 들어가면 바로 3600더하기
else
{
for(int j=0;j<6;j++)
{
if(j == 3)
n += 600;
else
n+= 60;
}
}
}
System.out.println(n);
i = 0 for hour in range(24) : for minute in range(60) : if '3' in str(hour) + str(minute) : i = i+1 print(i*60)
하루는 24 시 한시간 60분 1분은 60 초
이중에서 3만 있는 숫자를 구합니다. 시 + 분 + 초
시는 3,13,23 분과 초는 3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53
그래서 모두 합하면
def three_num(num):
list=[]
for i in xrange(num):
k=str(i)
if '3' in k:
k2=int(k)
list.append(k2)
return list
lista=three_num(24)
listb=three_num(60)
sum=0
for h in lista:
for m in listb:
for s in listb:
sum=sum+h+m+s
print sum
합은 51975 입니다. (맞나 --;)
시간 클래스를 만들었습니다
22:52:30
class PyTime():
def __init__(self, hour, minute, second):
self.hour = hour
self.minute = minute
self.second = second
def __str__(self):
return '{0:02}:{1:02}:{2:02}'.format(self.hour, self.minute, self.second)
def __add__(self, other):
tempmin, self.second = divmod(self.second + other.second, 60)
temphour, self.minute = divmod(self.minute + other.minute + tempmin, 60)
self.hour = (self.hour + other.hour + temphour) % 24
return self
if __name__ == '__main__':
ans = PyTime(0, 0, 0)
for h in range(24):
for m in range(60):
for s in range(60):
t = PyTime(h, m, s)
if '3' in str(t): ans = ans + t
print(ans)
문제가 완전히 바뀌었군요.
그냥 3600*3 + 15*21*60이라서 암산으로도 됩니다. (29700)
전체 합에서 3이 안 들어간 수를 출현 횟수만큼 뺐습니다.
@a=(276*60*60,1770*24*60,1770*24*60,237*45*45,1290*21*45,1290*21*45);
push @b, $a[$_]-$a[$_+3] for (0..2);
for(1,0){
$b[$_]+=int($b[$_+1]/60);
$b[$_+1]%=60;
}
$b[0]%=24;
print join(":",@b);
문제 설명이 바뀌었길래 다시 풀었습니다. 숫자 3이 포함되어 있다는걸 걸러내는 방법은 itoa와 strchr를 이용했습니다.
3이 포함된 분은 3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53 분이 있습니다. 총 15개인데 시간이 0부터 24이므로 24*15 = 360번 3이 등장합니다.
그리고 3은 등장해서 60초간 지속되므로 총 시간은 360*60 = 21600초 라는 결과를 구했습니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
int h, m, count = 0;
char ch[3];
for(h=0 ; h<=23 ; h++) //h,m가 반복문을 돌면서 실제 시계처럼 돌아가는 생각을 하였습니다
{
for(m=0 ; m<=59 ; m++)
{
itoa(m, ch,10);
if(strchr(ch, '3')) //3이 포함된 시각일때 count++
{
count++;
//printf("%2d:%2d %d번 3이 나왔습니다.\n", h, m, count);
}
}
}
printf("%d", count*60); // hh:mm 형식의 디지털 시계에서 분 단위가 60초 지속되므로 60을 곱한 결과를 출력
}
그냥 계산할 수 있을 것 같아서 계산했습니다.
시 3, 13, 23 (길이 3) 분, 초 3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53 (길이 15)
puts (3 * 60 * 60) + 21 * (60 * 15)
고쳤습니다 -0-
시간마다 분,초는 반복되므로 1시간마다 반복되는 값(1575초)을 미리 구해두고 시간에 3이 포함되었는지 확인하여 3이 있으면 1시간(3600초), 없으면 아까 구해둔값(1575초)를 더함 초로 환산할경우 총 43,875초로 나옴
// 하루 총 86400초
// 분,초는 반복되므로 미리 구함
$hourSum = 0;
for($m=0;$m<60;$m++)
for($s=0;$s<60;$s++)
if( strpos($m.$s,"3") !== false ) $hourSum +=1; // 3이 포함되어 있으면 1+ 3600회 처리 분,초를 하나의 문자열로 합쳐서 처리하여 중복계산을 막음
// echo $hourSum; // 1575초
// 시간에 3이 포함된경우 1시간을 초로 추가하고, 포함되지 않은경우 아까 구한 시간 합을 더함
$sum = 0;
for($h=0;$h<24;$h++)
if( strpos("".$h,"3") !== false )
$sum += 3600;
else
$sum += $hourSum;
var_dump( $sum ); // int(43875)
그냥 단순하게 구현해 봤습니다.
시간 0~23 범위, 분 0~59 까지 범위로 2중 for문 돌려서 문자로 변환한 다음, 문자에 '3' 이 포함되어 있으면 60초 씩 가산하였습니다.
더 간결하게 해보고 싶었는데... 실력이 미흡해서 잘 안되는군요;;
#include <iostream>
using namespace std;
int main(void)
{
char cHour[3];
char cMin[3];
int iSumSec = 0;
for (int i = 0; i < 24; i++)
{
for (int j = 0; j < 60; j++)
{
_itoa_s(i, cHour, 10);
_itoa_s(j, cMin, 10);
// 시간 또는 분에 '3' 이 포함되는지 검사
if (cHour[0] == '3' || cHour[1] == '3'
|| cMin[0] == '3' || cMin[1] == '3')
{
iSumSec += 60; // 3이 포함된 시간의 분단위 갯수
}
}
}
cout << "총 노출시간(초) : " << iSumSec << "\n"; // 총 노출시간 출력
return 0;
}
C#으로 작성했습니다. 굳이 3이 아니라도 다른 숫자를 input으로 입력하면 계산해줍니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodingDojang
{
class CodingDojang
{
static void Main(string[] args)
{
DigitalWatch.Answer();
Console.Read();
}
}
public static class DigitalWatch
{
public static void Answer()
{
var input = Console.ReadLine().ToString();
var countHours = 0;
var countMinutes = 0;
// calculating hours
for(int i = 0; i < 24; i++)
if(i.ToString().Contains(input))
countHours++;
for(int i = 0; i < 60; i++)
if (i.ToString().Contains(input))
countMinutes++;
var totalSeconds = countHours*60*60 + (24 - countHours)*countMinutes*60;
Console.WriteLine(totalSeconds);
}
public int CountNumberInDigitalWatch(string n)
{
var hours = 0;
var minutes = 0;
for (int i = 0; i < 60; i++)
if (i.ToString().Contains(n))
{
if (i < 24) hours++;
minutes++;
}
return hours*60*60 + (24 - hours)*(minutes*60);
}
}
}
swift로 조건문을 switch로 처리하여 작성해보았습니다.
import Foundation
var count = 0
for hour in 0...23 {
for minute in 0...59 {
switch (hour, minute) {
case (hour, _) where String(hour).rangeOfString("3") != nil :
count++
case (_, minute) where String(minute).rangeOfString("3") != nil:
count++
default:
break
}
}
}
println("Total Seconds : \(count * 60)")
public class Howmany3 {
public static void main(String[] args) {
int hour,min;
int sum=0;
for(hour=0;hour<24;hour++)
for(min=0;min<60;min++){
if(hour%10==3||min%10==3||min/10==3)
sum+=60;
}
System.out.println(sum);
}
}
29700 나왔습니다.
function y = sol2()
[hh,mm] = meshgrid(0:23, 0:59);
valid3 = hh == 3 | hh == 13 | hh == 23 | ...
mm == 3 | mm == 13 | mm == 23 | mm == 43| mm == 53 | (mm>29 & mm<40);
y = sum(valid3(:))*60;
end
by MATLAB
시 : 3 13 23 분 : 3 13 23 30 ~ 39 43 53
3 13 23 시를 제외한 나머지 시들은 3이 들어간 분만 가능하므로 15분 (3 13 23 30~39 43 53) 3 13 23 시는 시에 3이 포함되어 있으므로 60분 ( 1~ 60 )
(24-3) * 15 * 60 + 3 * 60 * 60 = 29700(s)
꼼수(?)
public static void Main(string[] args)
{
int result = 0;
int count = 0;
string time = string.Empty;
for (int i = 0; i < 24;i++)
{
for (int x = 0; x < 60; x++)
{
time = i.ToString() + ":" + x.ToString();
if(time.Contains("3"))
{
count++;
Console.WriteLine("3 이있는 {0} count {1} {2}",time,count,result);
result += 60;
}
}
}
Console.WriteLine(result);
}
Sub Main()
Dim n As Integer = 0
Dim ts As New TimeSpan(0, 0, 0)
Do
If ts.ToString.Contains("3") Then n += 1
ts = ts.Add(New TimeSpan(0, 0, 1))
If ts.Hours >= 23 And ts.Minutes >= 59 And ts.Seconds >= 59 Then Exit Do
Loop
Console.WriteLine(n)
Console.ReadLine()
End Sub
Result: 43874
public class dojo2
{
public static void main(String[] args)
{
//count from 0 - 10000
int count = 0 ;
for(int i = 0 ; i<10001 ; i++){
String s = Integer.toString(i);
char[] a = s.toCharArray();
for(int j=0;j<a.length;j++){
if(a[j] == '8')
{
count++;
}
}
}
System.out.println("Result: "+count);
}
}
(let [MAX_HOUR 24
MAX_MINUTE 60
contains-3? (fn [x] (.contains (str x) "3"))]
(loop [h 0 m 0 acc 0]
(if (= h MAX_HOUR)
acc
(cond
(= (inc m) MAX_MINUTE) (recur (inc h) 0 acc)
(contains-3? h) (recur (inc h) m (+ acc 3600))
(contains-3? m) (recur h (inc m) (+ acc 60))
:else (recur h (inc m) acc)))))
;=> 29700
#include <stdio.h>
int main(void){
int sum=0;
int h,m;
for(h=0;h<24;h++){
if((h-((h/10)*10))==3){
sum+=60*60;
}
else{
for(m=0;m<60;m++){
if(((m/10)==3)||((m-(m/10)*10)==3)){
sum+=60;
}
}
}
}
printf("총 시간:%d",sum);
return 0;
}
?????29700초??
total = 0
for x in range(24):
if '3' in str(x):total+=3600; continue
for y in range(60):
if '3' in str(y):total+=60
print(total)
파이썬 3.5.1입니다. 29700
파이썬3.4입니다. 29700초예요
#10으로 나눈 몫은 십의 자리 숫자이고,
#10으로 나눈 나머지는 일의 자리 숫자이다.
s = 0
for h in range(24):
for m in range(60):
if h // 10 == 3: s += 60
elif h % 10 == 3: s += 60
elif m // 10 == 3: s += 60
elif m % 10 == 3: s += 60
print(s)
시계는 시:분 만 표시하므로 3이 한번라도 나타나면 60초 동안 표시됩니다.
파이썬 3.6입니다.
print(sum(60 for m in range(60) for h in range(24) if '3' in f'{h}:{m}'))
Python
counter = 0
for j in range(24):
if "3" in str(j):
counter += 60 * 60
else:
for i in range(60):
if "3" in str(i):
counter += 60
print(counter)
#파이썬3.4.2
sum = 0
for h in range(24):
clockhour = h
for m in range(60):
clockminu = m
if '3' in str(clockhour) or '3' in str(clockminu):
sum += 60
print(sum)
파이썬 2.7입니다
results = 0
for h in range(1, 24 + 1):
for m in range(1, 60 + 1):
if "3" in str(h) or "3" in str(m):
results += 60
print results
>>> from itertools import product
>>> len(filter(lambda x: '3' in str(x), product(range(24), range(60)))) * 60
29700
def calsec(s):
tsec = 0
for n in range(24):
for m in range(60):
strtime = str(n) + str(m)
if str(s) in list(strtime):
tsec += 60
print (strtime, tsec)
return tsec
if __name__ == "__main__":
print(calsec(3))
total3=0
for i in range(60):
for j in range(24):
if (" ".join(str(i))+" ".join(str(j))).count('3') : total3+=1
print(total3*60)
Python 3.5.2
늅늅입니다. 자바로 풀어 봤습니다.
public static void main(String args[])
{
int secondCount = 0;
for(int i = 0; i < 24; i++)
{
for(int j = 0; j < 60; j++)
{
if(i ==3 || j == 3)
{
secondCount += 60;
}
}
}
System.out.println(String.valueOf(secondCount));
}
파이썬 2.7
count = 0
for H in range(24):
for M in range(6):
for m in range(10):
if H == 3 or H == 13 or H == 23 or M ==3 or m == 3:
count += 1
print 'count:',count
답 : 495분 (29700초)
#include<iostream>
using namespace std;
int main()
{
int count=0;
int total=0;
for (int i = 0;i < 2360;i++)
{
if ((i % 100 < 60) && ((i / 100) % 10) == 3)
count ++;
else if ((i % 100 < 60) && ((i % 100) / 10 == 3 || (i % 10) == 3))
count ++;
}
total = count * 60;
cout << "총 시간을 초로 나타내면 " << total << "초 입니다." << endl;
/*29,700초*/
}
디지털 시계에 하루동안(00:00~23:59) 3이 표시되는 시간을 초로 환산 예) 23:59 = 23시 59분 = (2360)+59 =1439분 초로 환산 143960=86340초 저의 답은? 253,303,200초
public static void main(String[] args) {
CodingPractice07 code=new CodingPractice07();
int totalMins=code.hourCase()+code.minsCase();
int totalSeconds=totalMins*60;
System.out.println(totalSeconds);
}
// 시단위의 3이 존재하는 경우
public int hourCase() {
int hour=0;
int min=0;
for(int i=0;i<24;i++) {
if(i==3 || i%10==0)
hour+=i;
}
for(int i=0;i<60;i++) {
min+=i;
}
int minA=(hour*60)*min;
return minA;
}
//분단위의 3이 존재하는 경우
public int minsCase() {
int hour=0;
int min1=0;
int min2=0;
for(int i=0;i<24;i++) {
hour+=1;
}
for(int i=0;i<60;i++) {
if(i==3 || i%10==0)
min1+=i;
}
for(int i=30;i<40;i++) {
min2+=i;
}
int total=min1+min2;
int minB=(hour*60)*total;
return minB;
}
public static void main(String[] args){ int minute = 0;
for(int i = 0; i < 24; i++) {
if(String.valueOf(i).contains("3")) {
System.out.println(i + " : 00");
minute += 60;
continue;
}
for(int j = 0; j < 60; j++){
if(String.valueOf(j).length() == 2 && String.valueOf(j).startsWith("3")) {
minute += 10;
System.out.println(i + " : " + j);
j = j + 9;
}else if(String.valueOf(j).length() == 2 && String.valueOf(j).endsWith("3")) {
minute += 1;
System.out.println(i + " : " + j);
}else if(String.valueOf(j).length() == 1 && String.valueOf(j).equals("3")) {
minute += 1;
System.out.println(i + " : " + j);
}
}
}
System.out.println("minute = " + minute * 60);
}
#include <iostream>
using namespace std;
bool ifinclude(int num, int n){
while(num!=0){
if(num%10==n) return true;
else num/=10;
}
return false;
}
int main(){
int hour;
int minute;
int seconds=0;
for(hour =0 ;hour<24;hour++){
for(minute =0;minute<60;minute++){
if(ifinclude(hour*100+minute,3)) seconds+=60;
}
}
cout<<"Seconds : "<<seconds<<endl;
return 0;
}
hpm = sum([1 for m in range(0, 60) if str(m).find('3') != -1])
print(sum([60 if str(h).find('3') != -1 else hpm for h in range(0, 24)]) * 60)
Python 3.5.2에서 작성하였습니다.
int CNT = 0;
for (int i = 0;i <= 23;i++ )
{
for (int j = 0; j <= 59; j++)
{
if (i.ToString().Contains(Char.Parse("3")) || j.ToString().Contains(Char.Parse("3"))) CNT++;
}
}
CNT *= 60;
29700초
print(sum([60 for x in range(24) for y in range(60) if '3' in str(x)+str(y)]))
#### 2016.12.11 D-438 ####
#include<stdio.h>
#include<Windows.h>
int main()
{
int i,j,sum=0;
for(i=0;i<24;i++)//시간
for(j=0;j<60;j++)//분
if((j-3)%10==0||((j>=30)&&(j<40))||(i-3)%10==0)//분은 j로 규칙성발견으로 나눠서 i도 규칙성 발견
sum+=60;//60초 동안 유지
printf("값은 %d입니다",sum);
system("pause");
return 0 ;
}
$day = 60*24;
$chk = 0;
for($i=0;$i<$day;$i++){
$hour = floor($i/60);
$min = ($hour>=1) ? ($i-($hour*60)) : $i;
if(strpos($hour,"3") !== false || strpos($min,"3") !== false) $chk++;
}
echo "Output:".$chk*60; // 29700
def time():
n=0
for i in range(24):
for j in range(60):
if "3" in list(str(i)+str(j)):
n+=1
return n*60
import java.util.stream.IntStream;
public class AllThreeTime {
public static void main(String[] args) {
long hours = IntStream.range(0, 25).filter(i -> String.valueOf(i).contains("3")).count();
long minute = IntStream.range(0, 61).filter(i -> String.valueOf(i).contains("3")).count();
long total = (hours * 60 * 60) + ((24 - hours) * minute * 60);
System.out.println(total);
}
}
public void go() {
int second=0;
for(int i=0 ; i<24 ; i++) {
if(i%10==3) {second = second + 3600; continue;}
for(int j=0 ;j<60 ; j++) {
if(j/10==3 || j%10==3) second = second + 60;
}
}
System.out.print(second);
}
}
def time(sec):
min=0
hr=0
total=0
for i in range(1,sec+1):
if i%60==0:
min=min+1
if min==60:
min=0
hr=hr+1
if hr in [3,13,23]:
total=total+1
if min in range(30,40) and hr not in [3,13,23]:
total=total+1
if min in [3,13,23,43,53] and hr not in [3,13,23]:
total=total+1
return total
print(time(86400))
time_lst, result = list( (x,y) for x in range(0,24) for y in range(0,60)), 0
for time in time_lst:
if '3' in str(time[0])+str(time[1]): result += 60
print(result)
Python 3.4.2, in string 을 이용하여 가독성을 높인 버전
count = 0
for hour in [str(h) for h in range(24)]:
for min in [str(m) for m in range(60)]:
if ('3' in hour) or ('3' in min):
count += 1
print(count*60)
def minute():
num=0
for i in range(0,60):
a=str(i).count('3')
num+=a
m=(num-1)*60
return m
def hour():
num=0
for i in range(0,24):
a=str(i).count('3')
num+=a
h=num*60*60
return h
result=minute()*21 + hour()
print(result)
javascript
var countsec = function(n) {
var min = 0;
for (let h = 0; h < 24; h++) {
for (let m = 0; m < 60; m++) {
if (("" + h + m).indexOf(n) > -1) min++;
}
}
return min * 60;
}
console.log(countsec(3));
// for-if 구문을 array-filter 로 변환해보았습니다
// 사실, 한 줄로 풀어보고 싶었습니다.
// [0000, 2359] 까지의 배열을 만들어서 3이 들어간 것만 filtering 해서 그 개수를 세서 60을 곱합니다.
// 자바스크립트는 배열 만드는 구문이 좀 기네요 :)
var countsec = n => Array.from(Array(24), (v, h) => Array.from(Array(60), (v, m) => "" + h + m)).reduce((a, b) => a.concat(b), []).filter(v => v.indexOf(n) > -1).length * 60;
console.log(countsec(3));
timeof3 = 0
for h in range(00, 24):
for m in range(00, 60):
if '3' in str(h) + str(m):
timeof3 += 60
print(timeof3) # 29700'
Python 3 로 풀었습니다.
print(60 * len([() for h in range(0, 24) for m in range(0, 60) if '3' in str(h) or '3' in str(m)]))
아래 코드가 더 간단하네요.
print(sum(60 for h in range(24) for m in range(60) if '3' in str(h) or '3' in str(m)))
def comprise_three(num):
while(1):
num, r = divmod(num, 10)
if (r == 3):
return True
if (num == 0):
break
return False
def cal_seconds():
comprise_three_seconds = 0 # 0~59에서 3이 포함된 총 시간(초)
for i in range(60):
if (comprise_three(i)):
comprise_three_seconds += 60
return comprise_three_seconds
def cal_total_seconds_comprise_three():
seconds_per_hour = 3600
comprise_three_seconds = cal_seconds()
total_seconds_comprise_three = 0
for i in range(24):
if (comprise_three(i)):
total_seconds_comprise_three += seconds_per_hour # Ex. 3시 00분 ~ 3시 59분, 3이 시간에 포함됨!
else:
total_seconds_comprise_three += comprise_three_seconds # Ex. 0시 00분 ~ 0시 59분. 3이 시간에 포함이 안될 수 있음!
return total_seconds_comprise_three
print(cal_total_seconds_comprise_three())
print(sum([60 for x in [str(x1//60)+':'+str(x1%60) for x1 in range(0,(24*60))] if str(x).find('3')>=0]))
# python 3.6
count = 60 * len([0 for hh in range(24)
for mm in range(60) if "3" in str(hh) + str(mm)])
print(count)
# ans: 29700
int sum = 0;
for(int h = 0; h <= 23; h++) //13
{
for(int m = 0; m < 60; m++) //1~60
{
string time= h.ToString() + ":" + m.ToString();
//23:23
if (time.Contains("3"))
{
sum += 60;
}
}
}
Console.WriteLine(sum + "초");
# 한글 처리 in Atom 1.21.1 + Anaconda(Python 3.6.3)
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')
# 디지털 시계에 하루동안(00:00~23:59)
# 3이 표시되는 시간을 초로 환산하면 총 몇 초(second) 일까요?
# 디지털 시계는 하루동안 다음과 같이 시:분(00:00~23:59)으로 표시됩니다.
seconds = 0
for h in range(24):
for m in range(60):
if '3' in str(h) or '3' in str(m):
seconds += 60
print("하루에", seconds, "초 동안 3이 보입니다")
python 음... 아직 프로그래밍 언어가 익숙하지 않아서 for 과 if 만 이용해서 코드를 짜봤습니다. 시계의 시간이랑 분을 시간 두 칸, 분 두 칸 으로 쪼개서 겹치는 경우를 제외해가며 값을 구했습니다.
s = 0
for i in range(3):
for j in range(10):
if j == 3: s += 3600
if i == 2:
if j == 4: break
for k in range(6):
if j != 3:
if k == 3: s += 600
for l in range(10):
if j != 3:
if k != 3:
if l == 3: s += 60
print(s)
ans = 29700
python입니다 쉽게 푸신분들이 많네요 아직 많이 배워야 겠습니다.
h = 0
m = 0
for x in range(24):
if str(x)[-1] == '3':
h = h + 1
for y in range(60):
if str(x)[-1] == '3':
pass
elif (str(y)[0] == '3') or (str(y)[-1] == '3'):
m = m + 1
s = (h*3600)+(m*60)
print(s)
h = 0
m = 0
for x in range(24):
if str(x)[-1] == '3':
h = h + 1
for y in range(60):
if str(x)[-1] == '3':
pass
elif (str(y)[0] == '3') or (str(y)[-1] == '3'):
m = m + 1
s = (h*3600)+(m*60)
print(s)
count=0
for i in range(24):
for j in range(60):
if '3' in str(i):
count+=60
break
elif ('3' not in str(i)) and ('3' in str(j)):
count+=1
print(count*60)
#!/usr/bin/env python
import re
def find_3(h, m):
hour_sec = 60 * 60 ## 시간을 초단위로 변환
min_sec = 60 ##분을 초단위로 변환
fhour = 0 ##시간에서 3이 나타난 빈도 체크
fmin = 0 ##분에서 3이 나타난 빈도를 체크
sec = 0
for i in h:
if re.search('3', str(i)):
sec += hour_sec
fhour += 1
for i in m:
if re.search('3', str(i)):
sec += min_sec
fmin += 1
print(
"""Total time (seconds) including 3: {0}
The number of times 3 contains: {1}
The number of minutes that 3 contains: {2}.
""".format(sec, fhour, fmin))
def main():
hour = range(1, 24)
min = range(1, 60)
find_3(hour, min)
if __name__ == '__main__':
main()
java
package cddj;
public class cddj8 {
public static void main(String[] args) {
int ans = 0;
for (int i = 0; i < 24; i++) {
String H = String.valueOf(i);
for (int j = 0; j < 60; j++) {
String M = String.valueOf(j);
String TIME = H + M;
if (TIME.contains("3")) {
ans++;
}
}
}
System.out.println(ans*60);
}
}
print("\n"," ■■■ 숫자 표시시간 계산기 ■■■","\n")
def numbersectotal(n):
t = 0
# 각 자리숫자를 변수로 설정( ab : cd )하여 23 : 59까지 순차적으로 증가
for a in range(3):
for b in range(10):
if a == 2 and b > 3:
break
for c in range(6):
for d in range(10):
# 각 표시 숫자들중 n이 있는지 확인하여 단위별로 표시시간 t를 누적 합산
if a == n or b == n or c == n or d ==n:
t += 60
print("\n")
print(" ☞ 하루동안 디지털 시계에 숫자 %d 이(가) 표시되는 시간은 %d second 입니다." %(n,t),"\n")
try:
n = int(input(" ▶ 표시되는 시간이 알고싶은 숫자를 입력하세요 : "))
numbersectotal(n)
except:
print("\n"," 유효한 값을 입력해주세요. 프로그램을 종료합니다. ")
■■■ 숫자 표시시간 계산기 ■■■
▶ 표시되는 시간이 알고싶은 숫자를 입력하세요 : 3
☞ 하루동안 디지털 시계에 숫자 3 이(가) 표시되는 시간은 29700 second 입니다.
#include <stdio.h>
int IsThreeIn(int i) {
return i / 10 == 3 || i % 10 == 3;
}
void main() {
int result = 0;
for (int hr = 0; hr < 24; hr++) {
for (int min = 0; min < 60; min++) {
if (IsThreeIn(hr) || IsThreeIn(min))
result += 60;
}
}
printf("%d\n", result);
}
//03시 -> 1시간 -> 60분 -> 3600초
//13시 -> 1시간 -> 3600초
//23시 -> 1시간 -> 3600초
//n시 3m분 -> 21 *10분 -> 12600초
//n시 m3분 -> 21 * 5 * 1분 -> 6300초
//29700초
int checkMin = 0;
for(int hour=0; hour<24; hour++)
{
//3시,13시,23시일 경우
if(hour==3 || hour==13| hour == 23)
{
checkMin +=60;
}
else
{
for(int min=0; min<60; min++)
{
String strMin = String.valueOf(min);
//n시 3m분일 경우
if(min>10 && strMin.substring(0, 1).equals("3"))
{
checkMin ++;
}
else if(strMin.endsWith("3"))
{
checkMin ++;
}
}
}
}
System.out.println("총 초 : "+checkMin*60);
29,700 초 나왔습니다. 단순계산이 빠른거 코드로 옮길려니 은근히 머리 써야 하네요
hour = 0
Min = 0
result = 0
while 24 != hour:
Min = 0
for _ in range(60):
Min = Min + 1
Min_list = list(str(Min))
hour_list = list(str(hour))
if '3' in Min_list or '3' in hour_list:
result = result + 60
hour = hour + 1
print(result)
cnt = 0
for hour in range(24):
for min in range(60):
if "3" in str(hour)+str(min):
cnt += 60
print(cnt)
# 시간 00 ~ 24 리스트 세팅
i = 0
hour = []
while(i <= 24):
hour.append(i)
i += 1
# 분 00 ~ 60 리스트 세팅
i = 0
minute = []
while(i <= 60):
minute.append(i)
i += 1
# 시간 00 ~ 24 중 3이 들어가는 횟수 카운트
def inclusionHour3():
count = 0
for temp in hour:
if(str(temp).find("3") != -1):
count += 1
return count
# 분 00 ~ 60 중 3이 들어가는 횟수 카운트
def inclusionMinute3():
count = 0
for temp in minute:
if(str(temp).find("3") != -1):
count += 1
return count
# 시간에 3이 들어가는 총 시간(초) 계산
def calculateHourInclusion3():
return inclusionHour3() * 60 * 60
# 분에 3이 들어가는 총 시간(초) 계산
def calculateMinuteInclusion3():
return (24 - inclusionHour3()) * inclusionMinute3() * 60
print("디지털 시계에 하루동안 3이 표시되는 시간을 초로 환산하면? " + str(calculateHourInclusion3() + calculateMinuteInclusion3()) + "s" )
sumsec = 0
for hour in range(24):
for min in range(60):
if '3' in str(hour) or '3' in str(min):
sumsec += 60
print(sumsec)
python 3.6
hours = range(24)
minutes = range(60)
sum_3 = 0
for h in hours:
for m in minutes:
if '3' in str(h) or '3' in str(m):
sum_3 += 60
print(sum_3)
public class SumNum3 { //JAVA
public static void main(String[] args) {
int sum = 0;
for(int h=0; h<24; h++)
{
if(h%10==3) {
sum+=3600;
continue;
}
for(int m=0; m<60; m++)
if(m%10==3||m/10==3) sum+=60;
}
System.out.println("총 " + sum + "초 입니다.");
}
}
Console
총 29700초 입니다.
//3이 나타나는 시간을 전부 합하면?
public class level_1_contain_number_3_second_sum {
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i < 24; i++)
{
if(i == 3 || i == 13 || i == 23)
{
sum = sum + 3600;
continue;
}
for(int j = 0; j <60; j++)
{
if(j % 10 == 3 || j / 10 == 3)
{
sum = sum + 60;
}
}
}
System.out.println(sum);
}
}
이렇게 멍청하게 푼 사람도 있다는걸 보고 힘내시라고들..
second=0
for hour in range(24):
if hour==3 or hour==13 or hour==23:
second+=3600
else:
for minute in range(60):
if minute==3 or minute==13 or minute==23 or minute==30 or minute==31 or minute==32 or minute==33 or minute==34 or minute==35 or minute==36 or minute==37 or minute==38 or minute==39 or minute==43 or minute==53:
second+=60
print(second)
second = 0
for h in range(24):
for m in range(60):
if h % 10 == 3:
second += 60
elif m % 10 == 3 or m // 10 == 3:
second += 60
print(second)
time_hr = list(range(0,24))
time_minute = list(range(0,60))
h1 = []
h2 = []
for i in time_hr:
if (i-3)%10 == 0:
h1.append(i)
else:
h2.append(i)
m1 = []
for j in time_minute:
if (j-3)%10 == 0:
m1.append(j)
else:
pass
m2 = []
for k in time_minute:
if 29<k<40:
m2.append(k)
else:
pass
ans = 3600*len(h1) + 60*len(h2)*len(m1) + len(h2)*len(m2)*60 - 60*len(h2)
print(ans)
제 알고리즘을 반면교사 삼으면 될 것 같습니다..
Python 3.6
print(sum([60 for i in range(24) for j in range(60) if str(i).count("3") or str(j).count("3")]))
time = 0
for a in range(24):
if a == 3 or a == 13 or a == 23:
time += 3600
for b in range(60):
if b == 3 or b == 13 or b == 23 or (b >= 30 and b <= 39) or b == 43 or b == 53:
time += 21*60
print(time)
파이썬
cnt_b=0
for y in range(60):
if '3' in str(y):cnt_b+=1
cnt=0
for x in range(24):
if '3' in str(x):cnt+=60
else:cnt+=cnt_b
print('3이 표시되는 시간은 총 %d초 입니다.'%(cnt*60))
ans=0
for k in range(24):
if '3' in str(k):
ans+=3600
continue
for g in range(60):
if '3' in str(g):
ans+=60
print(ans)
public class Second3 {
public static void main(String[] args) {
int ans = 0;
for (int i = 0; i < 24; i++) {
if (i%10 == 3)
ans += 60*60;
else {
for (int j = 0; j < 60; j++) {
if (j%10 == 3)
ans += 60;
else if (j>=30 && j<40 && j!=33)
ans += 60;
}
}
}
System.out.println("Anser is " + ans);
}
}
def timeforthree():
hour = 0
minute = 0
count = 0
while hour < 24:
minute = minute + 1
if minute == 60:
minute = 0
hour = hour + 1
if hour%10 == 3 or minute%10 == 3 or minute//10 == 3:
count = count + 1
return count*60
Python 3으로 작성했습니다
파이썬의 튜플에 시간과 분을 각각 저장한 뒤 총 배열의 길이에 60초를 더했습니다.
len([(x,y) for x in range(24) for y in range(60) if '3' in str(x) or '3' in str(y)]) * 60
# 00:00~ 23:59 3이 표시되는 시간을 초로 환산하라
# 조건문에서 3이 들어가면 60초를 더해준다,
Sec = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
Sec+=60
print(Sec)
count = 0
for time in range(24):
for minute in range(60):
if "3" in str(time) or "3" in str(minute):
count += 1
print(count*60)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PracticeWW
{
class Program
{
static string time = "00:00";
static void Main(string[] args)
{
int cnt_Three = 0;
for(int hour = 00; hour<24; hour++)
for(int min = 00; min<60; min++)
{
time = hour.ToString() + ":" + min.ToString();
if (time.Contains('3'))
cnt_Three++;
}
Console.WriteLine(cnt_Three*60+"초");
}
}
}
count = 0
for hour in range(24):
for min1 in range(60):
str1 = str(hour) + str(min1)
if '3' in str1:
count += 60
print(count)
hour_list = range(0, 24)
sec_list = range(0, 60)
total_second = 0
for t in hour_list:
hour_text = "{:02d}".format(t)
for s in sec_list:
second_text = "{:02d}".format(s)
merge_text = hour_text + second_text
if str(3) in merge_text:
total_second += 60
print(total_second)
'''
29700
'''
public static int threeCheck(){
int sum =0;
boolean minuteThree =false;
String minuteCheck = null,secondCheck =null;
for(int i=0; i<24; i++){
minuteCheck = i+"";
if(minuteCheck.length()==1){
if(minuteCheck.equals("3")){
sum+=3600;
minuteThree = true;
}else{
minuteThree = false;
}
}else{
if(minuteCheck.substring(0,1).equals("3") || minuteCheck.substring(1,2).equals("3")){
sum+=3600;
minuteThree = true;
}else{
minuteThree = false;
}
}
for(int j=0; j<60 ; j++){
secondCheck = j+"";
if(!minuteThree){
if(secondCheck.length()==1){
if(secondCheck.equals("3")){
sum+=60;
}
}else{
if(secondCheck.substring(0,1).equals("3") || secondCheck.substring(1,2).equals("3")){
sum+=60;
}
}
}
secondCheck="";
}
minuteCheck="";
}
return sum; //29700
}
정답 29700 나옵니다.
public static int sumOf3() {
int oInt = 0;
String[] a = {"0","1","2"};
String[] b = {"0","1","2","3","4","5","6","7","8","9"};
String[] c = {"0","1","2","3","4","5"};
String[] d = {"0","1","2","3","4","5","6","7","8","9"};
String[] timeArr = new String[4];
for(int i = 0; i < a.length; i++) {
timeArr[0] = a[i];
for(int j = 0; j < b.length; j++) {
if(i == 2 && j > 3) break;
timeArr[1] = (b[j] + ":");
for(int k = 0; k < c.length; k++) {
timeArr[2] = c[k];
for(int l = 0; l < d.length; l++) {
timeArr[3] = d[l];
if(String.join("", timeArr).contains("3")) oInt += 60;
}
}
}
}
return oInt;
}
sumSec=0
for hour in range(24):
for min in range(60):
if '3' in str(hour) or '3' in str(min):
sumSec += 60
print(sumSec)
#pytnon 3.
s=0
for h in range(24):
if '3' in str(h):
s+=h*60*60
for h in range(24):
for m in range(60):
if '3' in str(m):
s+=h*60
print(s)
Python 2.7
result = 0
for i in range(24):
for j in range(60):
if '3' in str(i) or '3' in str(j):
result += 1
print '{}:{}'.format(i,j)
print result
print result * 60
#include <stdio.h>
int main() {
int threeTime = 0;
for(int i = 0; i <= 23 ; i++) {
for(int j = 0; j <= 59 ; j++) {
if(i % 10 == 3 || i / 10 == 3 || j % 10 == 3 || j / 10 == 3 ) {
threeTime += 60;
}
}
}
printf("3이 표시되는 시간(초) : %ds", threeTime);
return 0;
}
실행결과 : 3이 표시되는 시간(초) : 29700s
// 자바입니다
public static void main(String[] args) throws Exception {
int cnt = 0;
for (int h=0; h<24; h++) {
if (h % 10 == 3) {
cnt += 3600;
continue;
}
for (int m=0; m<60; m++) {
if (m/10 == 3 || m%10 == 3)
cnt += 60;
}
}
System.out.println(cnt);
} // 29700초
public class DigitalWatch {
public static void main(String[] args) {
int result=0;
for(int h=0;h<24;h++) {
if(h%10==3) {
result+=3600;
continue;
}
for(int m=0;m<60;m++) {
if(m%10==3||m/10==3)
result+=60;
}
}
System.out.println(result);
}
}
int main(void) { int sum = 0; int h, m;
for (h = 0; h < 24; h++) {
if ((h - ((h / 10) * 10)) == 3) {
sum += 60 * 60;
}
else {
for (m = 0; m < 60; m++) {
if (((m / 10) == 3) || ((m - (m / 10) * 10) == 3)) {
sum += 60;
}
}
}
}
printf("총 시간 : %d\n", sum);
return 0;
}
public class Howmany3 {
public static void main(String[] args) {
int hour,min;
int sum=0;
for(hour=0;hour<24;hour++)
for(min=0;min<60;min++){
if(hour%10==3||min%10==3||min/10==3)
sum+=60;
}
System.out.println(sum);
}
}
hour = 24
minute = 60
sec_of_3 = 0
for i in range(0,hour):
if(i % 10 == 3):
sec_of_3 = sec_of_3 + 3600
else:
for j in range(0, minute):
if(j % 10 == 3 or j // 10 == 3):
sec_of_3 = sec_of_3 + 60
print(sec_of_3)
파이썬으로 작성
int hour, minut, cnt; hour = 0; minut = 0; cnt = 0;
for (hour; hour < 24; hour++)
{
int hfir, hsec;
hfir = hour / 10;
hsec = hour % 10;
if (hfir == 3 || hsec == 3)
{
cnt+= 3600;
continue;
}
for (minut = 0; minut < 60; minut++)
{
int mfir, msec;
mfir = minut / 10;
msec = minut % 10;
if (mfir == 3 || msec == 3)
{
cnt += 60;
}
}
}
cout << "시간 합은" << cnt << endl;
public class ds {
public static void main(String[] args) {
int minute3 = 0;
for(int h = 0; h < 24; h++){
if(h == 3 || h == 13 || h == 23){
minute3+=60;
continue;
} else for(int m_10 = 0; m_10 < 6; m_10++){
if(m_10 == 3){
minute3+= 10;
continue;
} else minute3++;
}
}
System.out.println(minute3*60);
}
}
파이썬 3.6
sum_second = 0
for hour in range(24):
h = str(hour)
### 시간에 3이 들어 있으면 분에 3이 들어있어도 의미가 없음 ###
if '3' in h:
sum_second += 3600
### 시간에 3이 들어있지 않으면 분에서 초를 구해야 함 ###
else:
for minute in range(60):
m = str(minute)
if '3' in m:
sum_second += 60
sum_second 29700
public class Multiplesof3and5 {
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 24; i++) {
for (int j = 0; j < 60; j++) {
if ((j + "").startsWith("3") || (j + "").endsWith("3") || (i + "").startsWith("3")
|| (i + "").endsWith("3")) {
count++;
}
}
}
System.out.println(count * 60);
}
}
파이썬입니다.
print(len([x for x in ['%d' %hour + '%d' %minite for hour in range(0,24)
for minite in range(0,60)] if x.find('3') != -1])*60)
public class Q80 {
public static void main(String[] args) {
int hour = 0;
int min = 0;
for(int i = 0 ; i < 24 ; i++) {
int a = i/10; //시각의 10단위
int b = i%10; //시각의 1단위
if (a == 3 || b == 3) {
hour++;
}
}
for (int j = 0 ; j < 59 ; j++) {
int a = j/10; //분의 10단위
int b = j%10; //분의 1단위
if(a == 3 || b==3) {
min++;
}
}
System.out.println((hour*60*60) + ((24-hour)*min*60));
}
}
Python
hour = 24
min = 60
cnt = 0
for h in range(hour):
if h%10 == 3:
cnt += 3600
else:
for m in range(min):
if m//10 == 3 or m%10 == 3:
cnt += 60
print(cnt)
#Shorten version
cnt = 0
for h in range(hour):
for m in range(min):
if '3' in str(h) or '3' in str(m):
cnt += 60
print(cnt)
public class All_Three_Addition_of_a_Watch {
int timmer(int num) {
int time = 0;
int hours = 0;
for (; hours<24; hours++) {
String showHours = Integer.toString(hours);
if(showHours.contains("3")) {
time += 60*60;
} else {
int minutes = 0;
for (; minutes<60; minutes++) {
String showMinutes = Integer.toString(minutes);
if(showMinutes.contains("3")) time += 60;
}
}
}
return time;
}
public static void main(String[] args) {
All_Three_Addition_of_a_Watch test = new All_Three_Addition_of_a_Watch();
System.out.println(test.timmer(3));
}
}
total_sec = 0
for hour in range(24):
for minute in range(60):
if '3' in str(minute) or '3' in str(hour):
total_sec += 60
print("Total sec = ", total_sec)
result = 0
for hour in range(0, 24):
s_hour = str(hour)
if s_hour.find('3') != -1:
result += 3600
continue
else:
for minute in range(0, 60):
s_min = str(minute)
if s_min.find('3') != -1:
result += 60
print(result)
def SumSecond():
secsum = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute) : secsum += 60
return secsum
public static void main(String[] args) {
int sum=0;
for(int i=0;i<24;i++) { //시간
for(int j=0;j<60;j++) { //분
String temp = ""+i+j; //시간+분 을 문자열로
if(temp.contains("3")) { // 문자열에 3이 포함되어 있으면
System.out.println(temp);
sum+=60; // 전체 sum에 60초 더 한다. (3이 포함된 시간의 분 때마다 60초씩더한다)
}
}
}
System.out.println("총 시간(초): "+sum);
}
저는 조금 다르게 생각했는데, 시간+분을 문자열로 만든 후 그안에서 3이 들어갔을때 카운트해서 60초씩 더하는걸로 해봤습니다.
결과는 동일하게 나왔네요
#include <stdio.h>
int main()
{
int h,m,i;
int count_m = 0, count_h = 0;
int all_sec = 0;
int count_min[60] = { 0 };
int count_hour[60] = { 0 };
for (h = 0; h < 24; h++)
{
if ((h - 3) % 10 == 0 )
count_hour[h] = h;
}
for (m = 0; m < 60; m++)
{
if ((m - 3) % 10 == 0)
count_min[m] = m;
}
for (i = 0; i < 60; i++)
{
if (count_hour[i] != 0)
count_h++;
}
for (i = 0; i < 60; i++)
{
if (count_min[i] != 0)
count_m++;
}
all_sec = count_h * count_m * 60;
printf("3이 표시되고있는 시작은 총 몇초간 지속되는가? ==> %d초\n", all_sec);
}
초보자라 아직 이렇게 밖에 못하겠네요
hour = []
mins = []
for i in range(24) :
hour.append(i)
for j in range(60) :
mins.append(j)
def three_time(hour, mins):
sum = 0
for i in hour :
if i == 3 or i == 13 or i == 23 :
sum = sum + 60*60
for j in mins :
k = str(j)
if i == 3 or i == 13 or i == 23 :
pass
elif len(k) == 1 and k[0] == '3' :
sum = sum + 60
elif len(k) == 2 and k[0] == '3' :
if k[0] == '3' :
pass
sum = sum + 60
elif len(k) == 2 and k[1] == '3' :
sum = sum + 60
return print(sum)
three_time(hour, mins)
29700 나오네요 파이썬으로 짜봤습니다.
b, c, d, result = 0, 0, 0, 0
while True:
print("{0}:{1}{2}".format(b,c,d))
d += 1
if d == 10:
d = 0
c +=1
if c == 6:
c = 0
b += 1
if b == 24:
break
if '3' in str(b)+str(c)+str(d):
result += 60
result = sum([60 for h in range(24)
for m in range(60) if str(h).find('3') > -1 or str(m).find('3') > -1])
print(result)
second = 0
for hour in range(24):
if str(hour).count('3') >= 1:
second += (60*60)
else:
for minute in range(60):
if str(minute).count('3') >= 1:
second += 60
print(second)
i = 0
for hour in range(24) :
for minute in range(60) :
if '3' in str(hour) + str(minute) :
i = i+1
print(i*60)
파이썬3
def three_included(n):
if '3' in list(str(n)):
return True
else:
return False
result = 0
for i in range(24):
if three_included(i):
result += 60 * 60 #시간을 초로
else:
for j in range(60):
if three_included(j):
result += 60 #분을 초로
print(result)
파이썬입니다.
sec = 0
for hour in range(24):
for min in range(60):
if "3" in str(hour)+str(min): sec += 60
print(sec)
C 언어로 작성 했습니다. 시간중 3, 13, 23 시 는 3600초 + 해줬고 그 나머지 시간들은 매시간 15분씩 3이 보이니까 15 * 60 900초를 23시간 중 3시간을 뺀 시간만큼 더해주었습니다.
#include <stdio.h>
int main(){
int count =0 ;
for(int hr=0; hr < 24; hr ++)
{
if( hr / 10 ==3 || hr % 10 == 3 )
count += 3600;
else
count += 900;
}
printf("Total time : %d ",count);
}
sum=0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
sum+=60
print(sum)
C입니다
int i,tenhour=0,hour=0,tenmin=0,min=0,count=0;
for(i=0; i<=1440; i++){
min++;
if(min==10){
min=0;
tenmin++;
}
if(tenmin==6){
tenmin=0;
hour++;
}
if(hour==10){
hour=0;
tenhour++;
}
if(hour==3||tenmin==3||min==3){
count++;
}
if(tenhour==2&&hour==3&&tenmin==5&&min==9){
break;
}
}
printf("3이 나온 시간은 총 %d초 입니다. \n",count*60);
파이썬입니다. 29,700초 나오네요
minutes = []
hours1 = []
hours2 = []
minute = 0
hour = -1
while minute < 60:
minute = minute + 1
a = str(minute)
if a.find('3') != -1:
minutes.append(minute)
while hour < 23:
hour = hour + 1
b = str(hour)
if b.find('3') != -1:
hours1.append(hour)
else:
hours2.append(hour)
sum1 = len(hours1)*60*60
sum2 = len(hours2)*len(minutes)*60
print(sum1 + sum2)
hour = 0
minute = 0
here3 = 0
while hour <= 23:
while (minute <= 59) and (hour <= 23):
if hour % 10 == 3:
here3 = here3 + 60 * 60
minute = 0
hour = hour + 1
skip = 1
elif minute % 10 == 3 or ((minute >= 30) and (minute < 40)):
here3 = here3 + 60
minute = minute + 1
skip = 0
else:
minute = minute + 1
skip = 0
if skip == 0:
minute = 0
hour = hour + 1
print(here3)
저는 python을 사용하였습니다. 순차적으로 시각을 바꿔가면서 '시'에 3이 있는가, '분'에 3이 있는가를 판단하였습니다. '시'에 3이 있다면 그 시각은 '분'을 바꿔줄 필요가 없기 때문에 바로 '시'를 바꿔주도록 하였는데요, 처음에 짠 코드에선 23시에서 24시로 넘어갈 때 while문을 한번 읽어주어 30600초가 나와 while문에 중복되는 조건(5번째 줄)을 하나 더 걸어주었습니다.
Python 3.7.0
분단위로 24시간 전체를 나열한 후 3이 포함되는 요소만 세어주면 됩니다. 3이 중복되는 것은 상관 없습니다. *if or을 사용 할 때 or 뒤의 조건을 정확히 해주지 않으면 그 자체로 참이되어 전체 요소가 포함되게 됩니다.
r =0
for i in range(24):
for j in range(60):
if str(3) in str(i) or str(3) in str(j): # str(3)을 반드시 한 번 더 넣어줌
r += 60
print(r)
sum=0
for h in range(24):
if '3' in str(h):
sum+=3600
continue
for m in range(60):
if '3' in str(m):
sum+=60
continue
for s in range(60):
if '3' in str(s):
sum+=1
print(sum)
tm = 0
th = 0
for h in range(24):
if '3' not in str(h):
for m in range(60):
if '3' in str(m):
tm += 60
else:
if '3' in str(h):
th += 3600
print(th + tm)
==> 29700 나오네요.
a =[]
for i in range (0, 2400):
temp=str(i)
a.append("{0:0>4}".format(temp))
sum=0
for i in a :
count+=1
minute = int(i[2:4])
if(minute<60 and i.find('3')!=-1) :
sum+=60
print(sum)
디지털 시계니까 디지털 시계 모양이 나오게 구해봤습니다. 그냥 수학으로 생각하면 다른 분들처럼 훨씬 쉽게 끝나긴 하네요
result = 0
for i in range(24):
clock = "HH:MM"
clock1 = clock.replace("HH", f'{i:02}')
for n in range(60):
clock2 = clock1.replace("MM",f'{n:02}')
if '3' in clock2:
result += 60
print(result)
sum_3 = 0
for i in range(3, 2400, 10):
sum_3 += i
for i in range(30, 2400, 100):
sum_3 += i
for i in range(300, 2400, 1000):
sum_3 += i
print(sum_3)
sum=0
for h in range(0,24):
for m in range(0,60):
if h%10==3:
sum+=60
else:
if (m%10==3 and m//10!=3) or (m//10==3):
sum+=60
print(sum)
hour = range(0,24)
minute = range(0,60)
three = 0
for h in hour:
if h == 3 or h == 13 or h == 23:
three += 3600
#for h in hour:
# if h != 3 or h != 13 or h != 23:
# for m in minute:
# if '3' in str(m):
# three += 60
for h in hour:
if h != 3 and h != 13 and h != 23:
for m in minute:
if '3' in str(m):
three += 60
print(three)
tot_sec = 0
for hour in range(24):
for minute in range(60):
#print(str(hour) +':'+str(minute))
if str(hour).count('3') or str(minute).count('3'):
#print(str(hour) +':'+str(minute))
tot_sec = tot_sec + 60
print(tot_sec)
public class KimSanghyeop
{
public static void main(String[] args)
{
int cnt=0;
int m1,h1;
for(h1=0;h1<24;h1++)
{
for(m1=0;m1<60;m1++)
{
if(h1 / 10 == 3 || h1 % 10 ==3 ||m1 / 10==3 || m1 %10 ==3 )
{
cnt++;
}
}
}
System.out.println(cnt*60);
}
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Tm{
int sum;
int hour; // 0~23 1hour-> 3600sec
int min; // 0~59 1min -> 60sec
int sec; // 0~59
};
int main()
{
struct Tm time={0,};
char c_hint[3];
char c_mint[3];
int sum;
int *ptr;
int *ptr2;
for(time.hour=0;time.hour<24;time.hour++){
for(time.min=0;time.min<60;time.min++){
itoa(time.hour,c_hint,10);
itoa(time.min,c_mint,10);
if((ptr=strchr(c_hint,'3'))!=NULL||(ptr2=strchr(c_mint,'3'))!=NULL){
printf("%02d:%02d\n",time.hour,time.min);
time.sum+=time.hour*3600+time.min*60;
}
}
}
printf("합계:%d",time.sum);
return 0;
}
답이 왜 29700인가요 3이나오는 시간대만 time.sum+=60 만고치면 29700이 나오는데 3이나오는 시간의 총 합이니 23:59초가 나오드라도 23:59 초를 다더해야 하는거아닌가요?
Total = 0
for i in range(24):
for j in range(60):
set1 =set(str(i))
set2= set(str(j))
time = set1|set2
if '3'in time:
Total = Total+60
print(Total)
Total = 0
for i in range(24):
for j in range(60):
set1 =set(str(i))
set2= set(str(j))
time = set1|set2
if '3'in time:
Total = Total+60
print(Total)
namespace codingdojang_test
{
class Program
{
static void Main(string[] args)
{
int total = 0;
for (int h = 0; h < 24; h++)
{
for (int m10 = 0; m10 < 6; m10++)
{
for (int m1 = 0; m1 < 10; m1++)
{
string time = String.Format("{0}:{1}{2}", h, m10, m1);
bool t = time.Contains("3");
if (t == true)
{
total += 60;
}
}
}
}
Console.WriteLine(total);
}
}
}
c#
public class timestudy {
public static void main(String args[])
{
int i,j;
int total_sec=0;
for(j=0;j<24;j++)
{
if(j%10==3 || j/10==3)
{
for(i=0;i<60;i++)
{
total_sec+=60;
}
}
else {
for(i=0;i<60;i++)
{
if(i%10==3 || i/10==3)
{
total_sec+=60;
}
}
}
}
System.out.println("Total sec is: " + total_sec + " secs");
}
}
total sec is: 29700 secs 로 출력됩니다...
# python 3.7.1
count = 0
for i in range(24):
for j in range(60):
if (str(i)+str(j)).count('3'):
count += 60
print(count)
def solution
(0..23).inject(0) do |s, h|
if h.digits.include?(3)
s += 60*60
else
s += (0..59).inject(0) do |s, m|
m.digits.include?(3) ? s += 60 : s
end
end
end
end
p solution #=> 29700
def solution():
s = 0
for h in range(24):
if '3' in str(h):
s += 60*60
else:
for m in range(60):
if '3' in str(m):
s += 60
return s
print(solution())
def countSec(num):
s = 0
for h in range(24):
for m in range(60):
if str(num) in str(h) + str(m):
s += 60
return s
countSec(3)
result = 0
for h in range(24):
if str(h).count('3'):
result += 3600
else:
for m in range(60):
if str(m).count('3'):
result += 60
print(result)
occurrence = 0
for hour in range(0, 24):
for minute in range(0, 60):
time = str(hour) + ':' + str(minute)
if time.find('3') is not -1:
occurrence += 1
print occurrence * 60
C언어로 해서 29,700초 나왔습니다.
#include <stdio.h>
void main()
{
int hour = 0, sum = 0;
for (; hour < 24; hour++) //시
{
if (hour % 10 == 3) //3, 13, 23시
sum += 60;
else if (hour % 10 != 3) {
sum += 9; //30~32분, 34~39분
for (int minute = 0; minute < 60; minute++) //분
{
if (minute % 10 == 3) //3, 13, 23, 33, 43, 53분
sum += 1;
}
}
}
printf("%d\n", sum * 60); //초로 환산
}
hrs = [str(x) for x in list(range(0,24))]
mins = [str(x) for x in list(range(0,60))]
count = 0
for i in range(0,24):
if len(hrs[i]) == 1: hrs[i] = '0' + hrs[i]
for j in range(0,60):
if len(mins[j]) == 1: mins[j] = '0' + mins[j]
time = [x + y for x in hrs for y in mins]
for t in time:
if '3' in t: count += 1
total_time = count * 60
print(total_time)
답 : 29700
hour = 0
minute = 0
second = 0
for i in range(0, 24):
for j in range(0, 60):
a = str(i) + str(j)
if a.count("3") > 0:
hour += i
minute += j
second = hour * 3600 + minute * 60
print(second)
box = []
for i in range(24) :
for j in range(60) :
if '3' in str(i)+str(j) :
box.append(str(i)+str(j))
print(len(box)*60)
#include<stdio.h>
int main(void)
{
int i, j;
int cnt = 0;
for (i = 0; i <= 23; i++)
{
for (j = 0; j <= 59; j++)
{
if (i % 10 == 3 || j % 10 == 3 || j/10==3)
{
cnt++;
}
}
}
printf("%d", cnt*60);
}
def timen(n):
ans = 0
for h in range(24):
for m in range(60):
if '3' in list(str(h)+str(m)):
ans += 1
return ans*60
sumSec = 0
for hour in range(24) :
for minute in range(60) :
if '3' in str(hour) or '3' in str(minute) :
sumSec +=60
print(sumSec)
count = 0
a = input().split()
for i in a:
if i.count('3'):
count += 1
else:
continue
print(count*60)
```{.python} def digit(a): sumsec=0 for hour in range(24): for min in range(60): if str(a) in str(hour)+str(min): sumsec+=60
return sumsec
디지털 시계에 하루동안(00:00~23:59) 3이 표시되는 시간을 초로 환산하면 총 몇 초(second) 일까요? 디지털 시계는 하루동안 다음과 같이 시:분(00:00~23:59)으로 표시됩니다.
let totalSec = 0
for(let h = 0; h<24; h++){
for(let m = 0; m<60; m++){
if(h%10 === 3 || m%10 === 3 || Math.floor(m/10)===3){
totalSec+=60
}
}
}
console.log('총 합은:'+ totalSec)
// 출력값: 29700
sum = 0
for hour in range(24):
for minutes in range (60):
if '3' in str(hour) or '3' in str(minutes):
sum += 60
print(sum)
파이썬 입니다. 답: 29,700
result = 0
for i in range(24):
for j in range(60):
if "3" in str(i) or "3" in str(j):
result += 60
print(result)
Python 3.7 기준으로 작성한 것입니다.
hour = 0
mins = 0
Sum = 0
while True :
if hour == 24 and mins == 0:
break
mins += 1
if mins == 60 :
hour += 1
mins = 0
if mins % 10 == 3 and hour % 10 == 3:
print(hour, ":", mins)
Sum = Sum + (3600 * hour) + (60 * mins)
print(Sum)
3이 나타나는 시간을 구하려면 나머지 연산자를 이용해서 10으로 나누었을 때의 나머지가 3인 경우를 시간, 분을 가지고 판단하게 만듭니다.
이때, and연산자는 시간을 10으로 나누었을 때와 분을 10으로 나누었을 때의 나머지가 둘 다 3일 경우 에만 Sum이라는 변수를 변화를 하게 합니다.
total = 0
for h in range(24): #시간
for m in range(60): #분
if '3' in str(h) or '3' in str(m):
total += 60
print (total)
집합으로 풀었슴다 무식하게도..
_3__=set([str(a)+'3'+str(b)+str(c) for a in range(3) for b in range(6) for c in range(10)])
__3_=set([str(a)+str(b)+'3'+str(c) for a in range(2) for b in range(10) for c in range(10)])\
|set(['2'+str(b)+'3'+str(c) for b in range(4) for c in range(10)])
___3=set([str(a)+str(b)+str(c)+'3' for a in range(2) for b in range,10) for c in range(6)])\
|set(['2'+str(b)+str(c)+'3' for b in range(4) for c in range(6)])
print(len(_3__|__3_|___3)*60)
python 3.7 // 29700
tic=24*60*60
tic3=0
while(tic):
h=tic/60/60
m=tic%(60*60)/60
#s=(tic%(60*60))%60
h10=int(h/10)
h1=int(h%10)
m10=int(m/10)
m1=int(m%10)
#s10=s/10
#s1=s%10
if 3 in [h10, h1, m10, m1]:
tic3 +=1
tic-=1
print(tic3)
three_min = 0
total_sec = 0
for min in range(0,61):
min_str = str(min)
count_three = min_str.count('3') # 분에 3이 있는 숫자 카운트
if count_three > 0: # 3이 1개라도 있을 때
three_min += 60 # 분에 60초를 더함
for hour in range(0,24):
hour_str = str(hour)
count_three_hour = hour_str.count('3') # 시간에 3이 있는 숫자 카운트
if count_three_hour == 0 : # 3이 없을 때
total_sec += three_min # 위에서 구한 값 더함
else: total_sec += 60*60 # 3이 있을 때에는 60분 * 60초 더함
print(total_sec)
count=0
for i in range(0,1440):
time_i=int(i/60)*100 + int((i%60))
isnum=list(str(time_i))
a=0
for three in isnum:
if three == '3' and a==0:
count += 1
a=1
print(count*60)
public class Problem80 {
public static void main(String[] args) {
int seconds=0;
for(int i=0;i<24;i++) {
for(int j=0;j<60;j++) {
String hour = Integer.toString(i);
String minute = Integer.toString(j);
if(hour.contains("3")||minute.contains("3"))
seconds+=60;
}
}
System.out.println(seconds);
}
}
second = 0
for h in range(24):
for m in range(60):
if '3' in str(h) or '3' in str(m):
second += 60
print(second)
여러가지 경우로 나눠서 생각해보다가 어차피 시간(h)에 3이 들어가도 하위에 있는 m을 60번 루프 돌리기 때문에 맞게 돌아갈것같아서 이렇게 짜봤습니다
3뿐만 아니라 다른 숫자를 넣어도 적용되게 코드를 짜 보았습니다.
def check_n_in_time(n): # n은 표시되면 초로 환산할 숫자
second = 0
hour = 0
while hour < 24:
if str(n) in str(hour):
second += 3600
else:
minute = 0
while minute < 60:
if str(n) in str(minute):
second += 60
minute += 1
hour += 1
return second
print(check_n_in_time(3))
time_add=0
for time_h in range(24):
for time_m in range(60):
if str(time_h).find('3')!=-1:
time_add+=60
elif str(time_m).find('3')!=-1:
time_add+=60
print(time_add)
result = 0
for h in range(24):
for m in range(60):
time = str(h) + str(m)
if '3' in time:
result += 60
print(result)
result: 29700
time=[0,0]
count_min=0
while True:
if time==[23,59]:
count_min+=1
break
elif time[1]<60:
time[1]+=1
if '3' in str(time[1]) and '3' not in str(time[0]):
count_min+=1
elif '3' not in str(time[1]) and '3' in str(time[0]):
count_min+=1
elif '3' in str(time[1]) and '3' in str(time[0]):
count_min+=1
elif time[1]==60:
time[1]=0
time[0]+=1
print(count_min*60)
#include <stdio.h>
int main() {
int count = 0, sum = 0;
int i;
for (i = 0; i < 60; i++) {
if (i % 10 == 3 || i / 10 == 3)
count++;
}
for (i = 0; i < 24; i++) {
if (i % 10 == 3)
sum += 3600;
else
sum += count * 60;
}
printf("%d\n", sum);
}
c로 풀어봤습니다
sec = 0
for i in range(24):
for j in range(60):
if (str(i)+str(j)).find('3') >= 0:
sec += 60
print(sec)
h=0
m=0
for i in range(24):
if '3' in str(i):
h+=1
else:
for j in range(60):
if '3' in str(j):
m+=1
print(m*60+h*3600)
#29700
T1 = 0
for Time in range(24):
for Minute in range(60):
Watch = [int(Time/10), int(Time%10), ':', int(Minute/10), int(Minute%10)]
print(Watch[0], Watch[1], Watch[2], Watch[3], Watch[4])
if Watch[1] == 3:
T1 += 3600
break
elif Watch[3] == 3 or Watch[4] == 3:
T1 += 60
print(T1)
sum3=0
for hour in range(24): if hour==3 or hour==13 or hour==23: sum3+=3600 continue
for minute1 in range(6):
if minute1==3:
sum3+=600
continue
for minute2 in range(10):
if minute2==3:
sum3+=60
print(sum3)
딱히 뇌를 쓰지 않은 풀이법
#include <iostream>
using namespace std;
int main()
{
int cnt = 0;
for(int h = 0; h < 24 ; h++)
{
for(int m = 0; m < 60 ; m++)
{
if(h % 10 == 3 || h / 10 == 3 || m % 10 == 3 || m / 10 == 3)
cnt++;
}
}
cout << 60*cnt;
return 0;
}
파이썬 3.7.2
result = 0
for h in range(24):
for m in range(60):
if "3" in str(h) + str(m):
result += 60
print(result)
답 : 29700
sec = 0 -> 3이 들어간 시간의 초의 합입니다
for h in range(24): -> 24시간을 나타내기 위한 루프
for m in range(60): -> 60분을 나타내기 위한 루프
if '3' in str(h) or if '3' in str(m): -> 3이 있는 시간을 측정하기 위한 조건문
sec += 1 -> 조건문이 맞다면 초 변수에 1 추가!
sec = sec * 60 -> 1분은 60초니까
print(sec) -> 그리고 초 변수 출력!
코딩 초보자의 코딩입니당!
import time
cnt_clock = 0
for hour in range(0,24):
global cnt_clock
if hour < 10:
hr = '0' + str(hour)
else:
hr = str(hour)
for minute in range(0,60):
if minute < 10:
mnt = '0'+str(minute)
else:
mnt = str(minute)
chk_tm = hr + mnt
if chk_tm.count('3') > 0:
cnt_clock += 1
print("3 is found! ({}:{})".format(hr,mnt))
#time.sleep(0)
result = cnt_clock * 60
print("3 is repeated %i times" %result)
파이썬 3.7로 작성. 좀더 일반화해서 0에서 9사이의 n을 받아서 하루중 n이 표시되는 시간을 구하는 함수를 만들어봤습니다. 3의 경우는 29700초 나오네요
def n_clock(n):
if n<0 or n>9:
print('입력 에러')
return 0
else:
result=0 #결과 (초)
for h in range(0,24):
str_h=str(h)
if h<10: # 1자리수이면 앞에 0을 1개 붙인다
str_h="0"+str(h)
if str(n) in str_h:
result+=3600
else:
for m in range(0,60):
str_m=str(m)
if m<10: # 1자리수이면 앞에 0을 1개 붙인다
str_m="0"+str(m)
if str(n) in str(m):
result+=60
return result
if __name__ == '__main__':
print(n_clock(3))
result = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
result += 60
print(result)
""" 디지털 시계에 하루동안(00:00~23:59) 3이 표시되는 시간을 초로 환산하면 총 몇 초(second) 일까요? 디지털 시계는 하루동안 다음과 같이 시:분(00:00~23:59)으로 표시됩니다. """
""" 24시간이 몇 초에 해당하는지 알아내고, 각 초를 시간으로 환산했을때 3이 들어가면 그 초를 더한다.
""" total = 0 sec = 606024 print(sec)
for i in range(1, 86401):
hours = i // 3600
mints_s = (i - hours*3600)
mints = mints_s // 60
sec = (mints_s - mints*60)
if '3' in str(hours):
total += i
elif '3' in str(mints):
total += i
elif '3' in str(sec):
total += i
print(total)
def Gauss(n):
return int(n/10)
def Demical(n):
return (n%10)
sum=0
for i in range(60):
for j in range(24):
a=Gauss(j)
b=Demical(j)
if a==3 or b==3:
sum=sum+3600
else:
c=Gauss(i)
d=Demical(i)
if c==3 or d==3:
sum=sum+1
print(sum)
result = 0
for i in range(24): # 시간 : 0~23
if '3' in str(i): # 3이들어가는 시간은
result += (60*60) # 1시간 내내 표시되므로 60초*60분
else: # 그외 시간들은
result += (15*60) # 3,13,23,30~39,43,53분에서 60초동안 표시되므로 60초*15분
print(result)
#29700
a=0
b=0
for h in range(24):
if '3' in str(h):
a += 1
else:
for m in range(60):
if '3' in str(m):
b+=1
print(a*3600+b*60)
count = 0
for h in range(24) :
for m in range(60) :
if '3' in str(h) or '3' in str(m) :
count += 60
print(count)
파이썬 답 29700
시간을 문자열로 만든다음 3이 포함된걸 더했습니다
sec = 0 for h in range(24): hour = "%02d" % h for m in range(60): minute = "%02d" %m time = hour + ":" + minute if time.count('3') > 0: sec += 60
print(sec)
clock=0
for i in range(24):
for e in range(60):
if '3' in str(i) or '3' in str(e):
clock+=60
print(clock)
#3이 나타나는 시간을 전부 합하면?
i = 0
num1sum = 0
num2 = 0
num2sum = 0
while i< 24 :
if i % 10 == 3:
num1sum = num1sum + 3600
else:
j = 0
while j < 60:
if j % 10 == 3 or j // 10 == 3:
num2sum = num2sum + 60
j = j+1
i = i+1
sum = num1sum + num2sum
print(sum)
hour=0
second=0
while hour<24:
min=3
while min<60:
if str(hour).count('3')==0 and str(min).count('3'):
second +=60
min +=1
if str(hour).count('3'):
second +=3600
hour +=1
print(second)
python
sum = 0
for i in range(0,24):
for k in range(0,60):
word = str(i) + str(k)
if '3' in word:
sum += 60
sum
#include <stdio.h>
int main(void)
{
int hh = 0,mm = 0,ss = 0;
while(hh!=24)
{
int p = hh/10;
int l = mm/10;
if(((hh-(p*10))==3) || (l==3) || ((mm-(l*10))==3))
ss += 60;
mm++;
if(mm==60) {
mm = 0;
hh++;
}
}
printf("%d",ss);
}
sum=0
for h in range(24):
for m in range(60):
for sec in range(60):
t = str(h) + str(m) + str(sec)
if '3' in t:
sum+=int(t)
print(sum)
counter = 0
for i in range(0, 24):
for j in range(0, 60):
i = str(i); j = str(j)
if j.find('3') != -1:
counter += 60
continue
elif i.find('3') != -1:
counter += 60
continue
print(counter)
ans = 0
for h in range(24):
for m in range(60):
if "3" in str(h) + str(m):
ans = ans + 60
print(ans)
Python입니다. 29700 입니다.
#3이 표시되는 동안의 시간을 초로 환산하라고 한거네요.
#문제를 다시 보고 틀린내용 수정했습니다.
sum_seconds = 0
for hh in range(24):
for mm in range(60):
if '3' in str(hh) or '3' in str(mm): sum_seconds += 60
print(sum_seconds)
PHP
$cnt = 0;
foreach (range(0, 23) as $h) {
foreach (range(0, 59) as $m) {
if (substr_count(strval($h.$m), '3')) $cnt++;
}
}
$result = $cnt * 60; // 건수 * 60초
print_r($result); // 29700
int sec = 0;
for (int i=0; i<24; i++) {
if(i == 3 || i == 13 || i== 23) {
sec += 60*60;
continue;
}
for(int j=0; j<60; j++) {
if(j==3 || j==13 || j==23 || (j>=30 && j<40) || j== 43 || j== 53) {
sec += 60;
continue;
}
} // end of inner for
} // end of outer for
System.out.println(sec);
// 29700초
Sec= 0 Min= 0
for hour in range(24) :
for minute in range(60) :
if '3' in str(hour) or '3' in str(minute) :
Sec += 60
Min = Sec/60
print(Sec) print(Min)
n=3
sum=0
for h in range(0,24):
if h % 10==n or h // 10==n:
sum=sum+3600
else:
for m in range(0,60):
if m %10==n or m//10==n:
sum=sum+60
print(sum)
sum_sec = 0
for h in range(24):
for m in range(60):
if str(h).find('3')!=-1 or str(m).find('3')!=-1:
sum_sec = sum_sec + 60
print("전체 초 : ",sum_sec)
파이썬 입니다.
ssum=0
for i in range(24):
for j in range(60):
if '3' in str(i) or '3' in str(j):
ssum += 60
print(ssum)
시간 부분에 3600초 곱하고 분에는 60초 곱하는 걸로 착각했네요 ㅋ
package practiceLv1;
import java.util.*;
public class 삼이나타나는시간을전부합하면 {
public static void main(String[] args) {
int n = 0;
int hours = 0;
for(int i = 0; i<24; i++) {
if(i==3||i==13||i==23) {
hours=hours+3600;
}
else {
for(int j = 0; j<60; j++) {
if(j/10==3||j%10==3) {
n=n+1;
}
}
}
}
System.out.println(hours);
System.out.println(n);
System.out.println(hours+n*60);
}
}
C입니다. 간단하게 이중 for문 돌려서 조건대로 해결했습니다 ^^
#include <stdio.h>
int main()
{
int sec3 = 0;
for (int i = 0; i < 24; i++)
{
for (int j = 0; j < 60; j++)
{
if ((i % 10 == 3) || ((j / 10) % 10 == 3) || (j % 10 == 3))
{
sec3 += 60;
}
}
}
printf("%d", sec3);
return 0;
}
파이썬 3.6 입니다
def find_number_match_in_24h(n):
hours_matched = [hour for hour in range(24) if str(n) in str(hour)] # 시침이 n을 나타내는 시간
hours_matched_in_secs = len(hours_match) * 60 * 60
mins_matched = [min for min in range(60) if str(n) in str(min)] # 시침이 n이 아니고 분침만 n을 나타내는 시간
hours_not_matched = [hour for hour in range(24) if hour not in hours_matched]
mins_matched_while_hours_not_matched_in_secs = len(mins_match) * 60 * len(hours_not_matched)
total = hours_matched_in_secs + mins_matched_while_hours_not_matched_in_secs
return total
print(find_number_match_in_24h(3))
파이썬입니다.
result = 0
for hour in range(0,24):
for minute in range(0,60):
if '3' in str(hour) + str(minute):
result +=60
result
int Oneday_howmuchsecond_threeApears()
{
int result = 0;
for(int h =0; h<24; h++)
{
if(h%10==3)
{
result += 60;
}
else
{
for(int m =0; m<60; m++)
{
m>=30&&m<40 ? result+=10:
m%10 == 3 ? result++:0;;
}
}
}
result = result * 60;
return result;
}
sec=0
for hh in range(24):
for mm in range(60):
if "3" in str(hh) or "3" in str(mm):
sec+=60
print(sec)
Sum = 0
for h in range (0,24,1):
for m in range (0,60,1):
if '3' in (str(h)) or '3' in (str(m)):
Sum+=60
print (Sum)
문제가 디지털 시계를 직접 만들어서 계산을 하라는 것인지 아니면 계산만 하는 것인지 의도 파악을 하지 못해서 둘 다 해봤습니다. Python3입니다.
-- 디지털 시계를 생성하고 계산을 하는 방법
# 시계 생성
def clock(time): # __:__꼴의 문자열 입력
if time == '23:59':
return ''
if time[3:5] == '59':
return '{:02d}'.format(int(time[0:2])+1)+':00'
else: return time[0:3]+'{:02d}'.format(int(time[3:5])+1)
# 메인 코드
time = '00:00'
seconds = 0
while time != '':
seconds += 60*(time[1] == '3' or time[3] == '3' or time[4] == '3')
time = clock(time)
print(seconds)
-- 계산만 하는 방법
seconds = 0
for i in range(0,24):
for j in range(0,60):
seconds += 60 * ('3' in str(i) or '3' in str(j))
print(seconds)
count = 0
for i in range(00,24):
for j in range(0,60):
if '3' in str(i)+":"+str(j):
count+=1
print(count*60)
29700초 나왔습니다
int second = 0;
for(int i = 0; i<24; i++) {
if(i%10 == 3) second += 60*60;
for(int j = 0; j<60; j++) {
if(i%10 == 3) continue; //시간이 3일경우 분은 스킵
if(String.format("%d", j).contains("3")) {
second += 60;
}
}
}
System.out.println(second);
for i in range(24): for j in range(60): i = str(i) j = str(j) A = list(i) B = list(j) if '3' in A: A_1 = int(i) * 60 * 60 elif '3' in B: B_1 = int(j) * 60 else: continue print(A_1+B_1)
namespace codingdozang
{
class Program
{
static void Main(string[] args)
{
var result = Watch(Console.Read().ToString());
Console.WriteLine(result);
}
public static int Watch(string input)
{
int hours = 24;
int total_minites = 60;
int hours_count = 0;
int minites_count = 0;
for(int i=1; i<61; i++)
{
if(i.ToString().Contains(input))
{
if (i < 24)
{
hours_count++;
}
minites_count++;
}
}
return (hours_count * total_minites * total_minites) + (hours - hours) * (minites_count * total_minites);
}
}
}
추천 풀이를 따라 했습니다.
sum_sec = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
sum_sec += 60
print("from 00:00 to 23:59 we can find 3 for %d sec" % sum_sec)
python 3.8
1. print(sum(60 for i in range(24) for j in range(60) if str([i,j]).count('3'))) #60초씩 더하기
2. print( 60 * len([h for h in range(24) for m in range(60) if str([h,m]).count('3')])) # 리스트로 반복 총갯수 구하기 - 다른분은 이렇게 표현
3이 들어가는 총갯수 *보여지는 시간60초라는 뜻이군요.
hour = []
minute = []
for x in range(0, 24):
if x < 10:
hour.append("0" + str(x))
else:
hour.append(str(x))
for x in range(0, 60):
if x < 10:
minute.append("0" + str(x))
else:
minute.append(str(x))
time = 0
for x in range(24):
for xx in range(60):
if tuple(hour[x])[0] == "3" or tuple(hour[x])[1] == "3" or tuple(minute[xx])[0] == "3" or tuple(minute[xx])[1] == "3":
time += 60
print(time) # 29700
hours = [str(i) for i in range(0,24)]
minutes = [str(i) for i in range(0,60)]
count = 0
for i in hours:
if '3' in i:
count = count + 3600
else:
for j in minutes:
if '3' in j:
count = count + 60
print(count)
sum=0 for i in range(0,24): for j in range(0,60): if i%10 ==3 or j%10 == 3 or j//10 == 3: sum=sum+60*i + j print(sum)
저는 그냥 디지털 시계 화면에 3이 나오는 숫자를 모두 찾고 ,찾은 시간들의 합을 초단위로 알아내라는 문제로 이해하고 풀었습니다. 참고로 이때 디지털 시계는 시단위와 분단위만 나타난다는 전제로 풀었습니다. (초단위는 나타나지 않으므로 예를 들어서 00시 00분 03초 인경우는 없다) 파이썬 초보라 좀 많이 기네요 ㅠ
#1 시간(일일 기준) 입력
i = int(input('시간을 입력하세요 (일일기준) : '))
I = []
def Find_Wanted_Number_In_Digital_Clock(a):
# 디지털 시계
minute = 0
hour = 0
b = 0
while True:
if a != 0:
if len(str(hour)) == 1 and len(str(minute)) == 1:
aa = '%s day ' % b + '0' + str(hour) + ':' + '0' + str(minute)
print(aa)
J = '0' + str(hour) + ':' + '0' + str(minute)
I.append(J)
elif len(str(hour)) == 1 and len(str(minute)) != 1:
aa = '%s day ' % b + '0' + str(hour) + ':' + str(minute)
print(aa)
J = '0' + str(hour) + ':' + str(minute)
I.append(J)
elif len(str(hour)) != 1 and len(str(minute)) == 1:
aa = '%s day ' % b + str(hour) + ':' + '0' + str(minute)
print(aa)
J = str(hour) + ':' + '0' + str(minute)
I.append(J)
else:
aa = '%s day ' % b + str(hour) + ':' + str(minute)
print(aa)
J = str(hour) + ':' + str(minute)
I.append(J)
minute += 1
if minute == 60:
hour += 1
minute = 0
if hour == 24:
a -= 1
b += 1
hour = 0
else:
break
# 원하는 숫자 입력
print("")
j = input('0에서 9사이에 있는 숫자 중에서 원하는 숫자를 입력하세요 : ')
print('')
k = []
# 원하는 숫자가 들어간 시간을 찾기
for ii in range(len(I)):
if j in I[ii]:
k.append(I[ii])
print('')
print('원하는 숫자가 들어간 시간은 다음과 같습니다.')
print(k)
print('')
# 찾은 시간을 초단위로 바꾸기
l = []
for iii in range(len(k)):
l.append(((int(k[iii][:2]) * 3600) + (int(k[iii][3:]) * 60)))
print('')
print('위에서 찾은 시간을 초단위로 바꾸면 다음과 같습니다. ')
print(l)
print('')
# 찾은 초단위 시간을을 모두 더하기
print('')
print('위에서 찾은 시간을 모두 더하면 다음과 같습니다. ')
print(sum(l),'초')
print('')
Find_Wanted_Number_In_Digital_Clock(1)
def time_count(n):
sum=0
for i in range(24):
for j in range(60):
if str(n) in str(i) or str(n) in str(j):
sum+=1
return 60*sum
print(time_count(3))
파이썬입니다.
#입력: 디지털시계 시:분(00:00~23:59)
#출력: 3이 나타내는 모든 시간을 초로 환산
timeResult = 0 # 3을 모두 더한 시간
for time in range(0, 23+1):
for minute in range(0, 60+1):
if '3' in str(time) or '3' in str(minute):
timeResult += 60
print(timeResult)
#include <iostream>
#include <string>
#pragma warning(disable:4996)
using namespace std;
bool Find3(string h, string m) {
int n = h.find("3", 0);
if (n != string::npos)return true;
n = m.find("3", 0);
if (n != string::npos)return true;
return false;
}
int main() {
string h;
string m;
int sum = 0;
for(int hour=0; hour<24; hour++)
for (int minute = 0; minute < 60; minute++) {
h = to_string(hour);
m = to_string(minute);
for (int second = 0; second < 60; second++) {
if (Find3(h, m))++sum;
}
}
cout << "3을 나타내는 시간을 전부 합하면:" << sum << endl;
}
result = []
hour = range(0,24)
minute = range(0,60)
for h in hour:
if '3' in str(h):
result.append(h*3600+3600)
else:
for m in minute:
if '3' in str(m):
result.append(m*60)
print(sum(result))
time = 0 # 결과를 담을 그릇
for i in range(24): # 24시간 안에
for j in range(60): # 60분 동안
b = str(i) + str(j) # str 로 합하여 전자시계 표기법 처럼 1111 형식으로 나오게
if "3" in b: # 위치에 상관없이 b 에 3이 있다면
time = time + 60 # 결과 그릇에 결과 기존값과 60초(1분) 을 더해라
j + 1 # 1분을 넘겨라
print(time)
프로그래밍 쌩 초보의 파이썬 풀이입니다!! ^^
n=0
m=0
for i in range(24):
if i//10==3 or i%10==3:
n+=1
else:
pass
for k in range(61):
if k//10==3 or k%10==3:
m+=1
else:
pass
print('60분 중 3이 들어가는 갯수')
print(m)
print('24시 중 3이 들어가는 갯수')
print(n)
f=60*(n*60+(24-n)*m)
print(f)
result=0
for hours in range(0,24):
if '3' in str(hours): # in뒤에는 반드시 str,list,tuple형태를 써야되고 int는 쓸수 없기 때문에 str로 변경
result+=3600
else:
for mins in range(0,60):
if '3' in str(mins):
result+=60
print(result)
시간에서 3이 있는경우 3600초로를 더하고 시간에서 3이 없고 분에서 3이 있는 경우는 60초를 더한다. 따라서 29700초가 된다.
_time = [0, 0, 0, 0]
s_time = 0
_done = False
while _done == False:
_time[3] += 1
if _time[3] == 10:
_time[3] = 0
_time[2] += 1
if _time[2] == 6:
_time[2] = 0
_time[1] += 1
if _time[1] == 10:
_time[1] = 0
_time[0] += 1
if (_time[0]==2) & (_time[1]==4):
_time[0] = 0
_time[1] = 0
_done = True
if _time.count(3) >= 1:
s_time += 1
print(_time)
print(s_time*60)
python
sumSec=0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
print("%s:%s" %(hour,minute))
sumSec += 60
print("")
print(sumSec)
파이썬입니다.
totalSec=0
for i in range(24):
for j in range(60):
if '3' in str(i)+str(j):
totalSec+=60
print(totalSec)
temp=list()
for k in range(0,24):
for i in range(0,60):
temp.append(str(k)+str(i))
count=0
for i in range(len(temp)):
for j in range(len(temp[i])):
if temp[i][j]=='3':
count+=1
break
print(count*60)
time_res = 0
for i in range(0,24) :
if '3' in str(i) :
time_res += (60*60)
else :
for j in range(0, 60) :
if '3' in str(j) :
time_res += 60
print(time_res)
msum=0
hsum=0
for h in range(24):
for m in range(60):
if '3'in str(m):
msum+=1
else:pass
if '3'in str(h):
hsum+=1
else:pass
print(msum)
print(hsum)
print(hsum*60*60+msum*60-15*3*60)
result = 0
for time in range(0,24):
for minute in range(0,60):
if '3' in str(time) or '3' in str(minute):
result = result + 60
result
count = 0
for hour in range(24): #시 00:** ~ 23:**
if '3' in str(hour):
count += 3600
else: # hour 3이 들어가서 3600추가하면 minute에 3이 들어가도 상관없음
for minute in range(60): #분 **:00 ~ **:59
if '3' in str(minute):
count += 60
print(count)
min_count = 0
for i in range(60):
if '3' in str(i):
min_count += 1
hr_count = 0
for i in range(24):
if '3' in str(i):
hr_count += 1
print((hr_count * 60 + min_count * (24-hr_count))*60)
생각이 가는대로 코딩해보았습니다 분으로 루프돌려 한시간에 3이 표시되는 분을 구하고, 시간으로 루프돌려 3일 나오는 시간의 수를 파악한뒤 초로 환산하였습니다
계산식: 3이 나온 시간의 수 X 60 + 3이 나온 분의 수X (24 - 3이 나온 시간의 수) =495분 X 60=29700초
public class Q080 {
public static void main(String[] args) {
int sec = 0;
for (int h = 0; h < 24; h++) {
if (h == 3 || h == 13 || h == 23) {
sec += 3600;
}
for (int m = 0; m < 60; m++) {
if (h == 3 || h == 13 || h == 23) {
} else if (m == 3 || m == 13 || m == 23 || m == 43 || m == 53) {
sec += 60;
} else if (m == 30) {
sec += 600;
}
}
}
System.out.println(sec);
}
}
java. 초보라 노가다로 만들어 봤습니다. 세련되고 깔끔하게 하려면 공부 많이 해야겠네요.
def count_three_time():
time_list = [f"{i // 60}:{i % 60}" for i in range(1440)]
return sum(map(lambda x: "3" in x, time_list)) * 60
num = 3
time = 0
for h in range(24):
for m in range(60):
if str(num) in str(h) + str(m):
time += 60
print(time)
s = 0
for i in range(24):
if '3' in str(i):
s += (60 * 60)
else:
for j in range(60):
if '3' in str(j):
s += 60
print(s)
cnt = 0
for a in range(0,3):
for b in range(0,10):
if a < 2 or (a == 2 and b < 4):
if b == 3:
cnt += 3600
for c in range(0,6):
if b != 3 and c == 3:
cnt += 600
for d in range(0,10):
if b!=3 and c!=3 and d==3:
cnt += 60
print(cnt)
time = list()
for hours in range(24):
for minutes in range(60):
time.append(str(hours)+":"+str(minutes))
count_3=0
for x in time:
if x.count('3')>0:
count_3=count_3+1
print(count_3*60)
결과는 29700
a = list(range(0,24))
b = list(range(0,60))
target = [3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53]
result = 0
for hour in a:
for minute in b:
if hour in target or minute in target:
result += 60
print(result)
초보입니다. 피드백 주시면 감사하겠습니다.
p.s 해답을 보니, 시간 및 분을 문자열로 전환해서 3포함으로 잡아버리시네요.. target리스트를 뽑을 식 구상하다가 그냥 썼는데,,,ㅠㅠ
hourmin = 0
Nlist = [0,0]
def main(N,M):
for i in range(len(str(N))):
if str(N)[i] == '3':return 60
for j in range(len(str(M))):
if str(M)[j] == '3':return 60
return 0
while True:
Nlist[1] += 1
if Nlist[1] == 60:
Nlist[0] += 1
Nlist[1] = 0
hourmin += main(Nlist[0],Nlist[1])
if Nlist[0] == 23 and Nlist[1] == 59:
print(hourmin)
break
ib = int(input("아무 수나 입력하시오 : "))
r = []
for i in range(0, 24):
for j in range(0, 60):
a = str(i) + str(j)
b = str(ib)
if b in a:
r.append((i,j))
else:
continue
result = 0
for s in r:
sum = (s[0] * (60**2)) + (s[1] * 60)
result += sum
print("{}이 나온 시간을 모두 합하면 {}초 입니다.".format(ib, result))
public class b {
public static void main(String[] args){
int hour,min;
int second=0;
for(hour=0;hour<24;hour++){
for(min=0;min<60;min++){
if(hour%10==3 || min/10==3 || min%10==3){
second = second + 60;
}
}
}
System.out.println(second);
}
}
public class Time3Check {
public static void main(String arg[]) {
int hour;
int min;
int sum=0;
for(hour = 0; hour<24; hour++)
for(min =0; min<60; min++ )
if(hour%10==3 || min%10==3||min/10==3) {
sum +=60;
}
System.out.println(sum);
}
}```{.java} public class Time3Check {
public static void main(String arg[]) {
int hour;
int min;
int sum=0;
for(hour = 0; hour<24; hour++)
for(min =0; min<60; min++ )
if(hour%10==3 || min%10==3||min/10==3) {
sum +=60;
}
System.out.println(sum);
}
} ```
three_seconds = 0
hourCnt = 0
minCnt = 0
for i in range(0, 60):
if "3" in str(i):
minCnt += 1
if i < 24:
if "3" in str(i):
hourCnt += 1
three_seconds = hourCnt * 3600 + (24 - hourCnt) * minCnt * 60
print(three_seconds)
# 3이 나타나는 시간을 전부 합하면?
count=0
for hour in range(1,25):
hour_list=list(str(hour))
if '3' in hour_list:
count+=3600
else:
for min in range(1,61):
min_list=list(str(min))
if '3' in min_list:
count += 60
print(count)
total = 0
for hour in range(24):
for min in range(60):
if '3' in str(hour) + str(min):
total += 60
print(total)
public class test4 {
public static void main(String[] args) {
int hour = 0;
int minute = 0;
int answer = 0;
while(hour < 24) {
if(minute % 10 == 3 || hour % 10 == 3 || minute / 10 == 3) {
answer+=60;
}
if(minute < 59) {
minute++;
}else {
minute = 0;
hour++;
}
}
System.out.print(answer);
}
}
public static void main(String[] args) {
int sum = 0;
for(int i = 0; i < 24; i++) {
if(i == 3 || i == 13 || i == 23) {
sum += 60*60;
}else for(int j = 0; j < 6; j++) {
if(j == 3) {
sum += 10*60;
}else {
sum += 60;
}
}
}
System.out.println(sum);
}
import re
class CalculateThree:
def __init__(self):
self.b = 0
def doCalc(self):
for h in range(0,24):
for m in range(0,60):
line = "{0:02d}:{1:02d}".format(h,m)
p = re.compile(r"3")
m = p.search(line)
if m:
self.b += 60
return self.b
a = CalculateThree()
b = a.doCalc()
print (b)
# ab:cd:ef
# 23:59:59
time = f+e*10+d*60+c*60*60+b*60*60*60*60+a*60*60*60*60*60
a = [0,1,2]
b = [0,1,2,3]
c = [0,1,2,3,4,5]
d = [0,1,2,3,4,5,6,7,8,9]
e = [0,1,2,3,4,5]
f = [0,1,2,3,4,5,6,7,8,9]
for i in f:
for j in e:
for k in d:
for n in c:
for m in b:
for u in a:
if time.find('3') != -1:
time += time
print(time)
totaltime=0
for i in range(0,24):
str1=str(i)
if "3" in str1:
totaltime+=60*60
else:
for k in range(0,60):
str2=str(k)
if "3" in str2:
totaltime+=60
print(totaltime)
python
sum = 0
for h in range(24):
for m in range(60):
if str(h).find("3") != -1 or str(m).find("3") != -1:
sum += 60
print("{0:02d}:{1:02d}, {2}".format(h, m, sum))
print(sum) # 29700
00:03, 60
00:13, 120
00:23, 180
00:30, 240
00:31, 300
00:32, 360 ...
time = [[i for i in range(24)],[j for j in range(60)]]
count = 0
for i in time[0]:
if '3' in str(i):
count += 3600
else:
for j in time[1]:
if '3' in str(j):
count += 60
print(count)
min = 0
hour = 0
count_sec = 0
for hour in range(24):
for min in range(60):
a = str(hour).zfill(2)
b = str(min).zfill(2)
print("{}:{}".format(a,b))
min += 1
if min == 59:
min = 0
if (a[0] =='3' or a[1] == '3') or (b[0] =='3' or b[1] == '3'):
count_sec += 60
if hour == 23 and min == 59:
break
print("3 is presented %d sec" % count_sec)
sec = 0 for h in range(0,24): for m in range(0,60): if '3' in str(h) or '3' in str(m): sec += 60 print(sec)
total = 0
for hour in range(0,24):
for min in range(0,60):
if '3' in str(min):
total += 60
# print("{0:02d}:{1:02d}".format(hour,min))
elif '3' in str(hour):
total += 60
print("총합: " + str(total))
처음에 문제 이해를 잘못 해서 헤맸네요^^ 근데 코딩문제를 풀 때, 인터넷 검색해서 부분 부분 힌트를 얻는 것도 괜찮은가요?
h = list(range(24))
m = list(range(60))
result = 0
for i in h:
for j in m:
if '3' in str(i) or '3' in str(j):
result += 60
print(result)
total=0
for i in range(0,24,1):
for j in range(0,60,1):
if '3' in str(i) or '3' in str(j):
total+=60
print(total)
#include <stdio.h>
int main(void) {
int ar[4] = { 0 };
int a = 0;
for (int i = 0;;i++) {
if (ar[0] == 2 && ar[1] == 4)
break;
ar[3] = i;
if (i == 10) {
i = 0;
ar[2] += 1;
}
if (ar[2] == 6) {
ar[1] += 1;
ar[2] = 0;
}
if (ar[1] == 10) {
ar[1] = 0;
ar[0] += 1;
}
if (ar[0] == 2 && ar[1] == 4)
break;
if (ar[1] == 3 || ar[2] == 3 || ar[3] == 3)
a += 1;
}
printf("%d", a * 60);
return 0;
}
c언어로했고 29700나왔습니다.
int three=0;
for(int h=0; h<24; h++) {
if(h==3 || h==13 || h==23) {
three += 60;
}else for(int m=0; m<=60; m++) {
if(m==30) {
three += 10;
}else if (m==3 || m==13 || m==23 || m==43 || m==53) {
three += 1;
}
}
}
three = three*60;
System.out.println("24시간중 3이 들어가는 시간의 초의 합은 "+three+"초이다.");
public class pro4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int sec3 = 0;
for(int i=0; i<24; i++) {
for(int j=0; j<60; j++) {
if(i==3 || i%10==3){
sec3+=60;
continue;
}
else if(j==3 || j%10==3 || j/10==3) {
sec3+=60;
continue;
}
}
}
System.out.println(sec3);
}
}
second=0
for i in range(0,24):
hour=i
for i in range(0,60):
minute=i
if '3' in str(hour) or '3' in str(minute):
second=second+60
print(second)
아이디어가 잘 안 떠올라 본문의 댓글 참고하여 했습니다
sec = 0
for i in range(0, 24):
for j in range(0, 60):
if "3" in str(i) or "3" in str(j):
sec = sec + 60
print(sec)
hour = [str(x).zfill(2) for x in range(24)]
minute = [str(y).zfill(2) for y in range(60)]
time_3 = ['{}:{}'.format(a,b) for a in hour for b in minute if (a+b).find('3')!=-1]
second = len(time_3)*60
second
hcount = 0
mcount = 0
for k in range(24):
if "3" in str(k):
hcount += 1
for k in range(60):
if "3" in str(k):
mcount += 1
print(hcount * 3600 + mcount * (24- hcount) * 60)
sum = 0
for i in range(24):
for j in range(60):
if "3" in str(i) or "3" in str(j):
sum += 60
print(sum)
result=0 for h in range(0,24): if '3' in str(h): result+=60*60 else: for m in range(0,60): if '3' in str(m): result+=60
print(result)
count = 0
for h in range(0, 24):
for m in range(0, 60):
time_hh_mm = str(h)+str(m)
if '3' in time_hh_mm:
count +=1
print(count*60)
def T_count(time):
count = 0
if '3' in str(time):
count += 1
return count
count = 0
for h in range(24):
if '3' in str(h):
count += T_count(h)*3600
else:
for m in range(60):
count += T_count(m)*60
print(count)
total=0
for h in range(24):
for m in range(60):
if '3' in str(h) or '3' in str(m) :
total += h*3600+m*60
print(total)
처음엔 문제를 잘못이해해서 위식으로 풀었는데 제가 문제를 잘못이해했네요
total=0
for h in range(24):
for m in range(60):
if '3' in str(h) or '3' in str(m) :
total += 60
print(total)
public class CodingTest {
public static void main(String[] args) {
int[] clock = {0,0,0,0};
int timer = 0;
int count = 0;
while(true) {
clock[3] = timer/60;
if(clock[3] >= 10) {
clock[2]++;
clock[3] = 0;
timer = 0;
}
if(clock[2] >= 6) {
clock[1]++;
clock[2] = 0;
}
if(clock[1]>=10) {
clock[0]++;
clock[1] = 0;
}
if(clock[0] == 2 && clock[1] == 4)
break;
if(clock[0] == 3||clock[1] == 3||clock[2] == 3||clock[3] == 3)
count++;
timer++;
}
System.out.println(count);
}
}
import os
os.system('cls')
time = map(str, ['{0:02}:{1:02}'.format(i, j) for i in range(0, 24) for j in range(0, 60)])
second = 0
for i in time:
if 0 <= i.find('3') <= 1 or 3 <= i.find('3') <= 4:
second += 60
print("Total Second : {}".format(second))
count = 0
for i in range(24):
for k in range(60):
num = str(i) + str(k)
if '3' in num:
count+=1
print(count * 60)
[파이썬]
hour1 = 0
hour10 = 0
minute1 = 0
minute10 = 0
# 3이 표시되는 시간이 총 몇'분' 인지 카운트
count3 = 0
# 시간 : 분 형식으로 표현
for i in range(24):
for j in range(60):
print('%d%d : %d%d' % (hour10, hour1, minute10, minute1))
minute1 += 1
if minute1 == 10:
minute1 = 0
minute10 += 1
if (minute10 == 6) and (minute1 == 0):
minute10 = 0
minute1 = 0
hour1 += 1
if hour1 == 10:
hour1 = 0
hour10 += 1
# 시간, 분 자리에 3이 하나라도 있으면 카운트를 합니다
if hour1 == 3 or minute10 == 3 or minute1 == 3:
count3 += 1
# 카운트한 '분'을 '초'로 바꿔줍니다
result = count3 * 60
print(result)
건전한 피드백 환영합니다
time = [0,0]
sum = 0
while time[0] < 24:
for i in range(1,61):
if i < 60:
time[1] = i
else:
time[1] = 0
time[0] += 1
print(time)
if '3' in str(time[0])+str(time[1]):
sum += 60
print(sum)
hour = 24 min = 60 second = 0
for h in range(hour): for m in range(min): if "3" in str(h) or "3" in str(m): second += 60
print(second)
result=0
for y in range(24):
if '3' in str(y):
result=result+(60*60)
else:
for x in range(60):
if '3' in str(x):
result=result+60
print(result)
sum_3 = 0
for h in range(0, 24):
for m in range(0, 60):
if "3" in str(h) or "3" in str(m):
sum_3 += 60
print(sum_3)
count = 0
for h in range(24):
for m in range(60):
if "3" in str(h) or "3" in str(m):
count += 60
print(count)
<파이썬 3> 결과 : 29700
Python입니다.
>>> total_sec = 0
>>> for hh in range(0, 24):
... for mm in range(0, 60):
... if '3' in str(hh) or '3' in str(mm):
... total_sec += 60
...
>>> total_sec
29700
python 3.9입니다. 시간에 3이 들어가면 1시간(3600초)를 더하고, 3이 들어가지 않으면 분에 대해 루프를 돌리며 분에 3이 들어가면 1분(60초)를 더하도록 하였습니다.
time_with_three = 0
for hour in range(24):
if '3' in str(hour):
time_with_three += 3600
continue
for minute in range(60):
if '3' in str(minute):
time_with_three += 60
print(time_with_three)
실행 결과입니다.
29700
second = 0
for h in range(24) :
for m in range(60):
if '3' in str(h) or '3' in str(m) :
second += 60
print(second)
public static void main(String[] args) {
int sec = 0;
for (int i = 0; i < 24; i++) {
for (int j = 0; j < 60; j++) {
if (i % 10 == 3 || i / 10 == 3 || j % 10 == 3 || j / 10 == 3)
sec += 60;
}
}
System.out.println(sec);
}
def total_time():
sum_time = 0
for i in (1,25):
if i == 13 or 23:
sum_time+=60
for j in (1,7):
if j == 3:
sum_time+=10
for k in (1, 10):
if k == 3:
sum_time+=1
else :
pass
else :
for j in (1,7):
if j == 3:
sum_time+=10
for k in (1,10):
if k == 3:
sum_time+=1
else:
for k in (1,10):
if k == 3:
sum_time+=1
else:
pass
else :
for j in (1,7):
if j == 3:
sum_time += 10
for k in (1, 10):
if k == 3:
sum_time += 1
else: pass
else :
for k in (1, 10):
if k == 3:
sum_time += 1
else:
pass
return 60*sum_time
def time():
result = 0
list_h = list(range(0, 24))
list_m = list(range(0, 60))
for i in list_h:
for j in list_m:
if str(3) in str(i) or str(3) in str(j):
result += 60
return result
print(time())
#codingdojing_time3
result = 0
for i in range(24): #hour
for j in range(60): #minute
if (i in [3,13]) or (j in [3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53]):
result += 60
print(result) #29700
#간략하게 수정
result = 0
for i in range(24): #hour
for j in range(60): #minute
if (i%10 == 3) or (j%10 == 3) or (j//10 == 3):
result += 60
print(result) #29700
sum = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
a += 60
print(sum)
hour = -1 minute = -1 x=[] y=[]
while hour < 24: hour += 1 if (hour-3) % 10 == 0: x.append(hour) while minute < 60: minute += 1 if (minute-3) % 10 == 0 or (0 <= (minute-30) < 10): y.append(minute)
total = len(x) * 3600 + len(y) * 60 * 21 print(total)```{.python}
```
package exam;
public class Ex16 {
public static void main(String[] args) {
// hour = 24, min = 60
int hour = 24;
int min = 60;
int result = 0;
for(int i = 0; i <hour; i++) {
for(int j = 0; j < min; j++) {
// 3이 나오는 경우의 수는
// 시간에서는 03,13,23
// 분에서는 03,13,23,30,31,32,33,34,35,36,37,38,39,43,53
// 문제에서 분을 초로 환산하라고 해서 +=60을 해줌
if(i % 10 ==3 || j / 10 == 3 || j % 10 == 3) {
result += 60;
}
}
}
System.out.printf("%,dsec",result);
}
}
java
count = 0
for hour in range(24):
for min in range(60):
if '3' in str(hour):
count += 60
elif '3' in str(min):
count += 60
print(count)
Hour = 0 Min = 0 Number = 0
while Hour < 24 : if Min == 59 : Min = 0 Hour = Hour +1 else : Min = Min +1
Time = str(Hour*100 + Min)
A = Time.find("3")
if A > -1 :
Number = Number + 1
print(Number*60)
print(60 * len([h for h in range(24) for m in range(60) if str(h).find('3') != -1 or str(m).find('3') != -1]))
public static void main(String[] args) {
long sSum = 0;
boolean m = false;
for(int i =0; i<24; i++) {
for(int j = 0; j < 60; j++) {
String x = i + " " + j;
for(int k =0; k<x.length(); k++) {
if(x.charAt(k) == '3') {
m = true;
break;
}
}
if(m) {
sSum += 60;
System.out.println(i + " : "+ j + " = "+ sSum);
m= false;
}
}
}
System.out.println(sSum);
}
결과29700 나오네요.
public class Time3Total {
public static void main(String[] args) {
// TODO Auto-generated method stub
int total;
int h = 0;
int htotal =0;
while( h < 24) {
int tmp;
h+=1;
if(h%10==3) {
tmp=h;
tmp*=3600;
htotal += tmp;
}
}
int m = 0;
int mtotal=0;
while( m < 59) {
int tmp;
m+=1;
if((m%10==3)||(m/10==3)) {
System.out.println(m);
tmp=m;
tmp*=60;
mtotal += tmp;
}
}
System.out.println(total = mtotal + htotal);
} // end main
}// end class
(일단 출력의 모양은 신경쓰지 않았습니다. <00:00> )
총 24:00 중 3이 들어있는 숫자는 시간당 1의 자리가 3분으로 끝나는 단위자리 하나. 10의 자리가 30분으로 시작하는 단위자리 하나. 또한 시간은 3시, 13시, 23시 입니다.
분에는 60을 곱하였고, 시간에는 3600을 곱하였습니다.
하여 총 24시간 중 3이 들어간 시간:분의 총 값은 169,200초 입니다.
3이 시간단위에 포함되면 (03:xx , 13:xx, 23:xx) 60분이므로 count에 3600(초) 를 더한다.
그리고 나머지 시간에서 3이 분단위에 포함되면 1분이므로 count에 60(초)를 더한다.
총 29700초 나오네요
var count = 0;
for(h=0;h<24;h++) {
if(h.toString().includes("3")) count += 3600
else {
for(m=0;m<60;m++) {
if(m.toString().includes("3")) count += 60
}
}
}
console.log("시계에 3이 표시되는 시간초는 " + count + "초")
```{.python}
time = 0
for i in range(24):
if '3' in str(i): #시간에 3이 들어간 경우 3600초 추가
time += 60*60
else: #시간에 3인 안 들어간 경우 분에 3인 들어간 경우 60초 추가
for j in range(60):
if '3' in str(j):
time += 60
print(time)
hour = []
min = []
n= 0
for k in range(0,24) :
b = str(k)
hour = b
for j in range(0,60) :
c = str(j)
min = c
time = [hour,min]
if "3" in time[0] or "3" in time[1] :
n +=1
else :
continue
print(n)
class sum3sec { public static void main (String [] args) {
int hour=0;
int min=0;
int total=0;
for(hour=0; hour<24; hour++)
{
if(hour%10 ==3) //'시'에 3이 들어있을때 03시, 13시, 23시
{
total=total+3600;
}
else //'시'에 3이 들어있지 않은 경우
{
for(min=0; min<60; min++)
{
if(min%10 == 3) //'1분 단위'에 3이 들어있는 경우 : 3분, 13분 23분...
{
total=total+60;
}
else if(min/10 ==3) //'10분 단위'에 3이 들어있는 경우 : 30분, 31분, 32분
{
total= total+60;
}
else if(min%10==3 && min/10 ==3)// '33분인 경우 중복되기 때문에 한번 빼준다!'
{
total=total-60;
}
}
}
}
System.out.println(total);
}
}
def calcSecondAppearedThree():
result = 0
for hour in range(0, 24):
for minute in range(0, 60):
# 03:13, 13:23, 23:33 ...
if str(hour).find('3') != -1 or '3' in str(minute):
result += 1
return result * 60
print(calcSecondAppearedThree())
Sum = 0
for a in range(24):
if '3' in str(a):
Sum += 3600
else:
for b in range(60):
if '3' in str(b):
Sum += 60
print(Sum)
// Rust
use std::string::ToString;
fn main() {
let mut total = 0;
for hour in 0..24 {
if hour.to_string().contains('3') {
total += 60 * 60; // 1시간 추가
continue;
}
for minute10 in 0..6 {
if minute10 == 3 {
total += 10 * 60; // 10분 추가
continue;
}
// for minute01 in 0..10 {
// if minute01 == 3 {
// total += 60;
// }
//}
total += 60; // 1분 추가
}
}
println!("{}", total);
}
sum = 0
for i in range(0,24):
if '3' in str(i) : sum+=60*60
else :
for j in range(0,60):
if '3' in str(j) : sum+=60
print(sum)
count = 0
for hr in range(24):
if hr%10 ==3:
count += 3600
else:
for minutes in range(60):
if minutes//10 == 3 or minutes%10 == 3:
count += 60
print(count)
total_second=0
for h in range(0,24):
for m in range(0,60):
if '3' in str(h) or '3' in str(m):
total_second+=60
print(total_second)
29700
a=0
for i in range(0,24):
for j in range(0,60):
if '3' in str(i) or '3' in str(j):
a+=1
else:
pass
print(a*60)
using System;
public class Program
{
public static void Main(String[] args)
{
int total = 0;
for(int h=0; h<24; h++){
for(int m=0; m<60; m++){
string H = Convert.ToString(h);
string M = Convert.ToString(m);
if(H.Contains("3") || M.Contains("3"))
total+=60;
}
}
Console.WriteLine(total);
}
}
C#
hour = [3, 13, 23]
hourWithoutThree = [0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22]
ThreeInMinute = [3, 13, 23, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 43, 53]
countThreeInMinute = len(ThreeInMinute)
countMinute = len(hourWithoutThree)
countHour = len(hour)
SecForMinute = countMinute * countThreeInMinute * 60
SecForHour = countHour * 60 * 60
print(SecForHour + SecForMinute)
# 3이 나타나는 시간을 전부 합하면?
# 00:00
sumtime = 0
for hour in range(24):
for min in range(60):
if '3' in str(hour) or '3' in str(min):
sumtime += 60
print(sumtime)
m3=[]
h3=[]
for m in range(0,60):
if '3' in str(m):
m3.append(m)
for h in range(0,24):
if '3' in str(h):
h3.append(h)
print((len(m3)*60)*(24-len(h3))+(len(h3)*3600))
아 이중포문이 너무 어려워서...
li=[] for i in range(24): for j in range(60): if 10<=i<=23: if 10<=j<60: a=(f"{i}:{j}") else: a=(f"{i}:0{j}") else: if 10<=j<60: a=(f"0{i}:{j}") else: a=(f"0{i}:0{j}") li.append(a) print(li) sec=0 for i in li: if i[1]=='3': sec+=3600 else: if i[3]=='3': sec+=3060 if i[4]=='3': sec+=360 else: if i[4]=='3': sec+=3*60 print(sec)
li = [] for i in range(24): for j in range(60): if 10 <= i <= 23: if 10 <= j < 60: a = (f"{i}:{j}") else: a = (f"{i}:0{j}") else: if 10 <= j < 60: a = (f"0{i}:{j}") else: a = (f"0{i}:0{j}") li.append(a) print(li) sec = 0 for i in li: if i[1] == '3': sec += 60 print(i) else: if i[3] == '3': sec += 60 else: if i[4] == '3': sec += 60 print(sec)
public class Day3 {
public static void main(String[] args) {
int total = 0;
for (int i = 0; i < 24; i++) {
if (i % 10 == 3) {
System.out.println(i);
total += 3600;
continue;
}
for (int j = 0; j < 60; j++) {
if (j / 10 == 3) {
total += 60;
continue;
}
if (j % 10 == 3) {
total += 60;
}
}
}
System.out.println(total);
}
}
겉멋 부리려다가 실패하고 시간 개오래 걸렸네요
a, b = 0, 0
for i in range(0, 24):
if i % 10 == 3 or i // 10 == 3:
a += 1
for i in range(0, 60):
if i % 10 == 3 or i // 10 == 3:
b += 1
print(a*60*60 + (24-a)*b*60)
나만 수학문제였고... ㅜㅜ
a="00:00"
min=int(a[-2::])
hour=int(a[:2:])
count=0
while True:
if hour==24 and min==00:
break
if min<59:
min+=1
else:
min=0
hour+=1
if '3' in str(hour):
count+=60
elif '3' in str(min):
count+=60
print(hour,min)
print(count)
# nn:nn 형식으로 in 을 사용하는 경우 "3"이 포함된 모든 경우를 반환가능
#출력되는 횟수의 합이 "3"이 나오는 시간을 '분'으로 표기한 것이므로
#*60을 하여 '초'단위로 반환
sec=0
for i in range(24):
for j in range(60):
a= f"{i:02}:{j:02}"
if "3" in a:
sec+=1*60
print(sec)
cnt = 0
for h in range(0,24):
for m in range(0,60):
if '3' in str(m) or '3' in str(h):
cnt += 60
print("%d초" % cnt)
파이썬 3.8.5
python
min = 0
hour = 0
number = 3
count = 0 #시계에 3이 나오는 횟수
for i in range(24*60):
if min == 60:
hour += 1
min = 0
time = str(hour)+str(min)
if str(number) in time:
count += 1
min += 1
print(count*60)
# Codingdojang 34
sum=0
for h in range(24):
if "3" in str(h) : sum+=60*60
else:
for m in range(60):
if "3" in str(m) : sum+=60
직접 짜본 코드
result=0
for hour in range(24):
for min in range(60):
if min%10==3 or int(min/10)==3: result+=1 #3? 33 ?3
#=> 03 13 23 33 43 53 30 31 32 *33 34 35 36 37 38 39
elif hour%10==3: result+=1 #?3 => 03 13 23
print(result*60)
풀이를 참고해 이해한 코드
def howMany3inClock():
result=0
for hour in range(24):
for min in range(60):
if '3' in str(hour) or '3' in str(min):
result+=1
result*=60
return result
print(howMany3inClock())
결과값은 29700초(495분)[8시간 15분] 입니다.
문자열로 바꾸어 자리값을 비교할 수 있다는 점.. 메모,,
Main() { int second = re(0,0,0); System.out.println(second); }
int re(int mit, int hour, int second)
{
if(hour>=24)
return second;
if(mit/10==3 || mit%10==3 || hour%10==3)
second=second+60;
if(mit==60)
{
mit=0;
hour++;
}
return re(++mit, hour, second);
}
//자바로 작성하였습니다. public class up007 {
public static void main(String[] args) {
int count = 0;
for(int i=0; i<24; i++) {
for(int j=0; j<60; j++) {
if(String.valueOf(j).contains("3") || String.valueOf(i).contains("3")) {
count ++;
}
}
}
System.out.println("하루 동안의 시간에 3이 표시되는 시간은 "+ count*60+ "초입니다.");
}
}
파이썬으로 작성했습니다. 이게 맞는지 한번 좀 봐주세요. 전 22145400초가 나왔어요 ㅜㅜ
clockNumList = [0,0] # index 0은 시, index 1은 분
clockWith3 = [] # 3 들어간 시간 리스트
totalSecond = 0
for hour in range(24):
clockNumList[0] = hour
for minute in range(60):
clockNumList[1] = minute
strClock = str(clockNumList[0]) + str(clockNumList[1])
if '3' in strClock:
totalSecond = totalSecond + clockNumList[0] * 3600 + clockNumList[1] * 60
clockWith3.append(strClock)
print(totalSecond)
print(clockWith3)
result = 0
for i in range(24):
for j in range(60):
r = str(f"{i:0>2}:{j:0>2}")
if '3' in r:
result += 60
print(result)
cnt = 0
for i in range(24):
for j in range(60):
if (j//10 == 3) | (j%10 == 3):
cnt += 1
if i//10 == 3:
cnt += 1
print(60*cnt)
sum = 0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) + str(minute):
sum += 60
print(sum)
sum('3' in str(h)+str(m) for h in range(24) for m in range(60))*60
s = 0 for h in range(24): for m in range(60): if h // 10 == 3: s += 60 elif h % 10 == 3: s += 60 elif m // 10 == 3: s += 60 elif m % 10 == 3: s += 60 print(s)
total = 0 for x in range(24): if '3' in str(x):total+=3600; continue for y in range(60): if '3' in str(y):total+=60 print(total)
max_hour = 24
max_min = 60
m_count = 0
h_count = 0
#분 카운트
for i in range(max_min):
if '3' in str(i):
m_count += 1
#시간 카운트
for i in range(max_hour):
if '3' in str(i):
h_count += 1
h_time = h_count * max_min #3이 들어간 시간
m_time = (max_hour-h_count) * m_count #3이 들어간 분. 3이 들어간 시간은 h_time에서 계산하므로 max_hour에서 h_count를 뺀 값을 계산
all_time = h_time + m_time
print(all_time * 60) #초 계산. *60
29700이 나오는군요.
def get_totalsecond(x):
second = 0
for h in range(24):
hh = str(h).zfill(2)
for m in range(60):
mm = str(m).zfill(2)
time = f'{hh}:{mm}'
if str(x) in time:
second += 60
return second
print(get_totalsecond(3))
sumSec=0
for hour in range(24):
for minute in range(60):
if '3' in str(hour) or '3' in str(minute):
sumSec+=60
print(sumSec)
JAVA
public class SelfTest_7 {
public static void main(String[] args) {
int hour = 0, minute = 0, second = 0;
for(hour =0; hour<24;hour++){
for(minute=0;minute<60;minute++){
if(hour%10==3 || minute%10==3 || minute/10==3){
second +=60;
}
}
}
System.out.println(second);
}
}
sum_time = 0;sum_time2 = 0
times = [];hour =[];minu = [];sec = []
times2 = []
for i in range(24):
hour = str(i).zfill(2)
for j in range(60):
minu = str(j).zfill(2)
for k in range(60):
sec = str(k).zfill(2)
times = hour + minu
times2 = times + sec
if '3' in times:
sum_time += 1
elif '3' in times2:
sum_time2 += 1
else: continue
print(sum_time, sum_time2)
s = 1 m = s60 h = m60 h_23 = h*23
num = [] def Time_counting(n): for i in range(61): num.append(i) count = str(num).count('{0}'.format(n))-1 #'33'중복 카운팅 제외 T_count = counts + 21count*m + h * 3 #03,13,23h return T_count
count_time = Time_counting(3)
print(count_time)
결과 29715초
저는 중복 제외한 시간, 분, 초별로 계산했는데 00:00:00~00:00:59사이의 초단위 3이 나오는 (중복제외)15건도 포함하면 29715입니다. 다른분들은 위 시간도 포함돼서 29700이 나온건가요...?
a = range(0,24)
b = range(0,60)
list = []
for i in a:
for ii in b:
c = str(i)+str(ii)
list.append(c)
result = 0
for iii in list:
if iii.count("3")>0:
result = result +1
print (result*60)
totalsec=0 for i in range(0,24): if '3' in str(i): totalsec += 3600 else: for m in range(1,60): if '3' in str(m): totalsec += 60
print(totalsec)
total_time = 0
for hh in range(24) :
for mm in range(60) :
if "3" in str(hh) or "3" in str(mm) :
total_time += 60
print(total_time)
def clock(n):
sec = 0
for h in range(24):
for m in range(60):
if str(n) in str(h)+str(m):
sec+=60
return sec
print(clock(3))
sum = 0
for m in range(60):
if '3' in str(m):
sum += 60
sum *= 21 # 3시, 13시, 23시 제외
sum += 3600 * 3 # 포함
print(sum)
minute = -1
for i in range(60):
b = '.'.join(str(i))
c = b.split('.')
for num in c:
if num == '3':
minute += 1
else:
continue
hour = 3
minute_3 = 21 * minute * 60
hour_3 = hour * 60 * 60
result = minute_3 + hour_3
print(result)
otal_sec = 0
for hr in range(24):
for min in range(60):
if '3' in str(hr) or '3' in str(min):
total_sec += 60 # 이 시각에 해당하는 60초 추가
print(f"{total_sec}초")
hasThree = lambda x: f"{x:02}".find('3')>=0
sum([60*60 if hasThree(h) else sum([60 for m in range(60) if hasThree(m)]) for h in range(24)])
> 29700