해당 문제는 이것이 코딩테스트다with 파이썬 예제 4-2번 입니다.
□ 소스 코드
#include <bits/stdc++.h>
void sight(){
int n;
cin>>n;
int endTime = n*3600 + 59*60 + 59; //입력된 시간을 초 시간으로 변경
int count = 0; //3이 포함된 경우 카운트
for(int i=0;i<=endTime;i++){
int second = i%60;
int minute = i/60%60;
int hour = i/60/60%60;
string strSecond = to_string(second);
string strMinute = to_string(minute);
string strHour = to_string(hour);
if(strSecond[0] == '3' || strSecond[1] == '3'){
count++;
continue;
}
else if(strMinute[0] == '3' || strMinute[1] == '3'){
count++;
continue;
}
else if(strHour[0] == '3' || strHour[1] == '3'){
count++;
continue;
}
}
cout<<count;
}
끝나는 시각을 초단위로 변경하여 반복문을 돌린 후 시/분/초로 구분하여 해당 시각에 3이 포함된 경우 숫자를 카운트한다.
쉬운 구현 문제이다.