Algorithm/C

더블릿 - sec(opem)

sang's IT 2018. 1. 25. 20:46
프로그램 명: sec(open)
제한시간: 1 초

초(second)가 입력으로 주어진다.

이 를 몇 날 몇 시간 몇 분 몇 초 인지를 변경하는 프로그램을 작성하시오.

입력

초(second)가 입력으로 주어진다. 10 000 000 이하의 정수 이다.

출력

4 개의 정수를 출력한다.

날 시 분 초

입출력 예

입력

70

출력

0 0 1 10


풀이 :


[하루는 초로 따지면 86400초]  [한 시간은 3600초]  [일 분은 60초]  



먼저 day변수에는 이용해 입력된 값을 하루 초 즉, 86400로 나누어 봅니다. 

[ sec / 86400 ]


다음 순서로 hour변수는 day변수에서 나머지값에서 3600초로 나눕니다. 

[ (sec % 86400) / 3600 ]


min변수도 마찬가지로 day변수의 나머지에 hour변수의 나머지를에서 60으로 나눕니다. 

[ ((sec % 86400) % 3600) / 60; ]


마지막으로 sec변수도 위와 같이 합니다. 

[ ((sec % 86400) % 3600) % 60; ]


정답 :


// Copyright 2018. 이상현 All rights reserved.

// www.dovelet.com , 알고리즘 풀이

// program name : sec(opem)

// scanf, printf


#include <stdio.h> 


int main()

{

int sec;

int min, hour, day;



scanf_s("%d", &sec);

 

day = sec / 86400;  // 하루는 86400초 .

hour = (sec % 86400) / 3600;       // 한 시간은 3600초임 .

min = ((sec % 86400) % 3600) / 60;  // 1분은 60초임  .

sec = ((sec % 86400) % 3600) % 60; 


printf("%d %d %d %d", day, hour, min, sec);



return 0;

}


in,output ex)