백준(BaekJoon)

[BaekJoon/C] No.2525: 오븐 시계

ekdnjs510 2024. 4. 1. 16:17
728x90

https://www.acmicpc.net/problem/2525

 

2525번: 오븐 시계

첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)

www.acmicpc.net

 

백준 알고리즘 No.2525: 오븐 시계 문제풀이입니다.

 

No.2525 문제

 

 

Np.2525 문제풀이를 시작하겠습니다. 

 

 

풀이

 

 

  1. 현재 시각의 시를 입력받을 정수형 변수 A, 분을 입력받은 정수형 변수 B, 요리하는 데 걸리는 시간(분 단위)을 입력받을 정수형 변수 C를 선언합니다.
  2. 현재 분(B)과 필요한 분(C)을 더하여 60분을 넘었을 때와 넘지 않았을 때의 범위를 나누어줍니다. => 이유:오븐구이의 끝나는 시각을 구하기 위해서 60분이 넘으면 시간으로 넘어가도록 프로그래밍해야 됩니다.
  3. B+C < 60 이면 B+C(분) 그대로 출력 => printf("%d %d", A, B + C);
  4. B+C >= 60 이면 시간과 분을 나누어서 최종적으로 현재 시각에다 더하여 끝나는 시각을 구하여야 합니다.
    4-1) 시간은 새로운 정수형 변수 hour 를 만들어 B+C를 더한 값에서 60(분)을 나누어 나온 몫을 저장합니다.
    4-2) 분은 새 정수형 변수 min에다 위에서 나눈 값의 나머지를 저장합니다.
  5. 문제에서 주어진 조건으로 24시가 넘을 시 0시로 넘어가는 조건을 충족시켜야 됩니다. 이를 해결하기 위해서 현재 시각에 앞서 구한 hour의 시간을 더했을 때 24시를 넘느냐 안 넘느냐에 대한 조건을 따로 만들어 줘야합니다.
  6. A+hour < 24 이면 A+hour 그대로 출력합니다. => printf("%d %d", A+hour, min);
  7. A+hour > 24 이면 A+hour을 24로 나누었을 때의 나머지를 출력하게 합니다. => 이유:하루의 기준이 24이기 때문에 24시간을 넘은 시간을 24로 나누면 몫으로 '일수'를 알 수 있고, 나머지로는 하루의 몇 시간이 지났는지 알 수 있기 때문에 나머지를 출력되게 하였습니다.

    ※추가로 c언어에서의 함수의 작업을 끝내고 작업의 결과를 반환할 때 사용하는 return 0; 을 써야 프로그램 또는 시스템과의 상호작용에 있어 예상치 못한 문제를 방지할 수 있습니다.

 

 

 

챗GPT를 활용한 용어정리

 

챗GPT를 활용하여 코딩한 문제를 해석해봤습니다. 

위에 내용이 이해가 되지 않으신 분은 참고하시면 될 것 같습니다.

 

[참고]

https://loding.tistory.com/entry/%EB%B0%B1%EC%A4%80C%EC%96%B8%EC%96%B4-2525%EB%B2%88-%EC%98%A4%EB%B8%90-%EC%8B%9C%EA%B3%84 / 책 C언어 콘서트 - 천인국

 

[백준/C언어] 2525번 - 오븐 시계

백준 웹사이트 "2525번 - 오븐 시계" 문제풀이입니다. 언어는 C언어입니다. (제출 언어: C99) 문제 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0

loding.tistory.com

 

728x90