백준 단계별로 풀어보기(C++)/2)조건문

백준 2884) 알람 시계 (C++)

코테 2023. 3. 9. 01:00

전체 코드

#include <iostream>

int main()
{
	int hour, min;

	std::cin >> hour >> min;
	
	min -= 45;

	if (min<0)
	{
		min += 60;
		hour--;
		if (hour < 0)
		{
			hour += 24;
			std::cout << hour << " " << min;
		}
		else
		{
			std::cout << hour << " " << min;
		}
	}
	else
	{
		std::cout << hour << " " << min;
	}
}

 

풀이

  • 처음에 입력받은 뒤 min(분)을 45뺌
int hour, min;

std::cin >> hour >> min;
	
min -= 45;

 

  • 첫 if문
  • 만약 분 부분이 음수가 되면(0보다 작으면) : 60분을 더함, 대신 더한 만큼 1시간(60분) 뺌->다음 if문 실행
  • 해당되지 않으면 출력
if (min<0)
{
	min += 60;
	hour--;
	// 코드 생략
}
else
{
	std::cout << hour << " " << min;
}

 

  • 두번째 if문
  • 만약 시간부분이 음수가 되면(0보다 작으면) : 24시 더한뒤 출력
  • 나머지 : 그냥 출력
if (hour < 0)
{
	hour += 24;
	std::cout << hour << " " << min;
}
else
{
	std::cout << hour << " " << min;
}