๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“• STUDY/Algorithm

[C / C++] ๋ฐฑ์ค€ 2884๋ฒˆ - ์•Œ๋žŒ์‹œ๊ณ„

โœ… ๋ฐฑ์ค€ 2884๋ฒˆ - ์•Œ๋žŒ์‹œ๊ณ„

๋ฐฑ์ค€ 1316๋ฒˆ : https://www.acmicpc.net/problem/1260

 

1260๋ฒˆ: DFS์™€ BFS

์ฒซ์งธ ์ค„์— ์ •์ ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000), ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜ M(1 ≤ M ≤ 10,000), ํƒ์ƒ‰์„ ์‹œ์ž‘ํ•  ์ •์ ์˜ ๋ฒˆํ˜ธ V๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ M๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ„์„ ์ด ์—ฐ๊ฒฐํ•˜๋Š” ๋‘ ์ •์ ์˜ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์–ด๋–ค ๋‘ ์ •์  ์‚ฌ

www.acmicpc.net

โœ… ๋ฌธ์ œ ์„ค๋ช…

๋‘ ์ •์ˆ˜ H(์‹œ๊ฐ„), M(๋ถ„)์ด ์ฃผ์–ด์ง€๋ฉด, ๊ทธ ์‹œ๊ฐ„๋ณด๋‹ค 45๋ถ„ ์ผ์ฐ ์•Œ๋žŒ์„ ์„ค์ •ํ•˜๋ฉด ๋œ๋‹ค.


โœ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๋ช…

1. H, M์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

 

2. ๋งŒ์•ฝ M์ด 45๋ณด๋‹ค ์ž‘๋‹ค๋ฉด?

: H์—์„œ 1์‹œ๊ฐ„์„ ๋นผ๊ณ , M + 15๋ถ„์„ ํ•˜์—ฌ ์ถœ๋ ฅ

ex) H = 11, M = 44
11์‹œ 44๋ถ„ – 45๋ถ„ = (11 - 1)์‹œ (44 + 60 – 45)๋ถ„ = 10์‹œ 59๋ถ„
โžก 60 – 45 = 15์ด๊ธฐ ๋•Œ๋ฌธ์— M + 15๋ฅผ ํ•˜๋ฉด๋จ

 

3. ๋งŒ์•ฝ M์ด 45๋ณด๋‹ค ์ž‘๊ณ  H == 0์ด๋ฉด?

: 24์‹œ๋ผ๋Š” ๋œป์ด๋ฏ€๋กœ 23๋กœ ๋Œ์•„๊ฐ€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— H=23 ์ €์žฅ

 

4. M์ด 45๋ณด๋‹ค ํฌ๋‹ค๋ฉด?

: ๊ทธ๋ƒฅ M-45ํ•œ ๊ฐ’ ์ถœ๋ ฅ


โœ… ์ฝ”๋“œ

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int main(void) {
	int h, m;
	scanf("%d%d", &h, &m);

	if (m < 45) { // 45๋ถ„๋ณด๋‹ค ์ž‘๋‹ค๋ฉด
		if (h == 0) printf("23 %d\n", m + 15); // ์‹œ๊ฐ„์ด 24์‹œ == 00์‹œ๋ผ๋ฉด?
		else printf("%d %d\n", --h, m + 15);
	}
	else printf("%d %d\n", h, m - 45);

	return 0;
}

https://github.com/2hyunjinn/Baekjoon/blob/47edcc3ebe7db69f35f3e67072d326f9d2447b2d/Baekjoon_2884.cpp

 

GitHub - 2hyunjinn/Baekjoon

Contribute to 2hyunjinn/Baekjoon development by creating an account on GitHub.

github.com