백준 2530번 인공지능 시계(C언어)

최정우·2022년 7월 19일
0

백준 문제풀이

목록 보기
22/26

Code

#include <stdio.h>

int main()
{
	int A, B, C, D;
	int h = 0, m = 0, s = 0;

	scanf_s("%d %d %d", &A, &B, &C);
	scanf_s("%d", &D);

	h = D / 3600;
	m = (D % 3600) / 60;
	s = (D % 3600) % 60;

	C += s;
	if (C > 59)
	{
		C -= 60;
		B += 1;
	}
	B += m;
	if (B > 59)
	{
		B -= 60;
		A += 1;
	}
	A += h;
	if (A > 23)
	{
		A %= 24;
	}

	printf("%d %d %d", A, B, C);
	
	return 0;
}

Key Point

  1. 문제가 간단해 딱히 어려운 점은 없었지만 세 개의 if문 중 마지막 if문 안에 A에 24를 나눈 나머지를 A에 넣은 이유는 분과 초는 애초에 60으로 나눴던 값을 넣어주므로 60보다 클 수가 없지만 A-=24를 해줬을 때 A가 48보다 클 경우 기준을 넘어가버린다. 이 사실을 간과한 채 꽤 오랜시간동안 헤맸다.
profile
WHEN LIFE GIVES YOU LEMONS, MAKE LEMONADE

0개의 댓글