Algorithm/๋ฌธ์ œํ’€์ด

[๋ฐฑ์ค€] 2828๋ฒˆ - ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„ (C++)

2023. 8. 13. 22:40

 

 

2828๋ฒˆ: ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„

์ƒ๊ทผ์ด๋Š” ์˜ค๋ฝ์‹ค์—์„œ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์˜ฎ๊ธฐ๋Š” ์˜ค๋ž˜๋œ ๊ฒŒ์ž„์„ ํ•œ๋‹ค. ์Šคํฌ๋ฆฐ์€ N์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์Šคํฌ๋ฆฐ์˜ ์•„๋ž˜์ชฝ์—๋Š” M์นธ์„ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋‹ค. (M<N) ํ”Œ๋ ˆ์ด์–ด๋Š” ๊ฒŒ์ž„์„ ํ•˜๋Š” ์ค‘์— ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ

www.acmicpc.net

 

 

๋ฌธ์ œ

์ƒ๊ทผ์ด๋Š” ์˜ค๋ฝ์‹ค์—์„œ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์˜ฎ๊ธฐ๋Š” ์˜ค๋ž˜๋œ ๊ฒŒ์ž„์„ ํ•œ๋‹ค. ์Šคํฌ๋ฆฐ์€ N์นธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ๋‹ค. ์Šคํฌ๋ฆฐ์˜ ์•„๋ž˜์ชฝ์—๋Š” M์นธ์„ ์ฐจ์ง€ํ•˜๋Š” ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์žˆ๋‹ค. (M<N) ํ”Œ๋ ˆ์ด์–ด๋Š” ๊ฒŒ์ž„์„ ํ•˜๋Š” ์ค‘์— ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์™ผ์ชฝ์ด๋‚˜ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์Šคํฌ๋ฆฐ์˜ ๊ฒฝ๊ณ„๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์•ˆ ๋œ๋‹ค. ๊ฐ€์žฅ ์ฒ˜์Œ์— ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์™ผ์ชฝ M์นธ์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค.

์Šคํฌ๋ฆฐ์˜ ์œ„์—์„œ ์‚ฌ๊ณผ ์—ฌ๋Ÿฌ ๊ฐœ๊ฐ€ ๋–จ์–ด์ง„๋‹ค. ๊ฐ ์‚ฌ๊ณผ๋Š” N์นธ์ค‘ ํ•œ ์นธ์˜ ์ƒ๋‹จ์—์„œ ๋–จ์–ด์ง€๊ธฐ ์‹œ์ž‘ํ•˜๋ฉฐ, ์Šคํฌ๋ฆฐ์˜ ๋ฐ”๋‹ฅ์— ๋‹ฟ์„๋•Œ๊นŒ์ง€ ์ง์„ ์œผ๋กœ ๋–จ์–ด์ง„๋‹ค. ํ•œ ์‚ฌ๊ณผ๊ฐ€ ๋ฐ”๋‹ฅ์— ๋‹ฟ๋Š” ์ฆ‰์‹œ, ๋‹ค๋ฅธ ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.

๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๋Š” ์นธ์„ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ๋ฐ”๊ตฌ๋‹ˆ๋Š” ๊ทธ ์‚ฌ๊ณผ๊ฐ€ ๋ฐ”๋‹ฅ์— ๋‹ฟ์„ ๋•Œ, ์‚ฌ๊ณผ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์‚ฌ๊ณผ๋ฅผ ๋ชจ๋‘ ๋‹ด์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ, ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ด๋™ ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

 

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N๊ณผ M์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค M < N โ‰ค 10) ๋‘˜์งธ ์ค„์— ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜ J๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค J โ‰ค 20) ๋‹ค์Œ J๊ฐœ ์ค„์—๋Š” ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง€๋Š” ์œ„์น˜๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค.

 

 

 

์ถœ๋ ฅ

๋ชจ๋“  ์‚ฌ๊ณผ๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•ด์„œ ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

ํ’€์ด๊ณผ์ •

๋ฌธ์ œ์˜ ์„ค๋ช…์€ ์œ„์™€ ๊ฐ™๋‹ค.

  • n์€ ์Šคํฌ๋ฆฐ์˜ ํฌ๊ธฐ. 
  • m์€ ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ธธ์ด ( ์‹œ์ž‘์ง€์ ์€ 1 )
  • j๋Š” ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜ ( ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋–จ์–ด์ง„๋‹ค. )

 

์œ„์— ์˜ˆ์ œ์˜ ํ’€์ด๋ฅผ ์ ์–ด๋ณด๋ฉด

1๋ฒˆ์งธ๋กœ ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ๋Š” 1๋ฒˆ์— ๋–จ์–ด์ง€๊ธฐ๋•Œ๋ฌธ์— ์›€์ง์ด์ง€์•Š์•„๋„ ๋˜๊ณ 

2๋ฒˆ์งธ๋กœ ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ๋Š” 5๋ฒˆ์— ๋–จ์–ด์ง€๊ธฐ๋•Œ๋ฌธ์— 4๋ฒˆ๊นŒ์ง€ ์ด๋™์„ ํ•ด์•ผ ์‚ฌ๊ณผ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

( m์ด 2์ด๊ธฐ๋•Œ๋ฌธ์— 4๋ฒˆ๊นŒ์ง€๋งŒ ์ด๋™ํ•ด๋„ 5๋ฒˆ๊นŒ์ง€ ๋ฒ”์œ„์•ˆ์— ๋“ค์–ด์˜จ๋‹ค. )

3๋ฒˆ์งธ๋กœ ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ๋Š” 3๋ฒˆ์— ๋–จ์–ด์ง€๊ธฐ๋•Œ๋ฌธ์— ๊ธฐ์กด 4๋ฒˆ์œ„์น˜์— ์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ 3๋ฒˆ์œผ๋กœ ์ด๋™ํ•ด์ค˜์•ผํ•œ๋‹ค.

๊ทธ๋ž˜์„œ 2๋ฒˆ์—์„œ 3 ์›€์ง์ด๊ณ  3๋ฒˆ์—์„œ 1 ์›€์ง์—ฌ์„œ 3 + 1 ๋กœ ์˜ˆ์ œ์ถœ๋ ฅ๊ฐ’์ด 4๊ฐ€ ๋˜๋Š” ํ˜•์‹์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ํ•ด๋‹น๋กœ์ง์€ 2๋ฒˆ์จฐ ๊ฐ™์ด ์ฆ๊ฐ€์„ํ•ด์„œ ์•ž์œผ๋กœ ๊ฐ€๋Š” ๊ฒฝ์šฐ์™€ 3๋ฒˆ์งธ์™€ ๊ฐ™์ด ๊ฐ์†Œ๋ฅผ ํ•ด์„œ ๋’ค๋กœ๊ฐ€๋Š” ๊ฒฝ์šฐ ์ด 2๊ฐ€์ง€๊ฐ€ ์žˆ์–ด

ํ˜„์žฌ์œ„์น˜ + ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ธธ์ด๋ณด๋‹ค ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง„ ์œ„์น˜๊ฐ€ ๋” ๋ฉ€๋ฆฌ์žˆ๋‹ค๋ฉด ์•ž์œผ๋กœ ์ด๋™์„ ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด๊ณ ,
( ํ˜„์žฌ์œ„์น˜ + ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ธธ์ด < ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง„์œ„์น˜ )

ํ˜„์žฌ์œ„์น˜ + ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ธธ์ด๋ณด๋‹ค ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง„ ์œ„์น˜๊ฐ€ ๋” ๋’ค์— ์žˆ๋‹ค๋ฉด ๋’ค๋กœ ์ด๋™์„ ํ•˜๋Š” ๋กœ์ง์œผ๋กœ ๊ตฌ์„ฑ์„ ํ•˜์˜€๋‹ค.

( ํ˜„์žฌ์œ„์น˜ + ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ธธ์ด > ์‚ฌ๊ณผ๊ฐ€ ๋–จ์–ด์ง„์œ„์น˜ )

 

 

code

#include <iostream>

int		main(void)
{
	int n, m, j, temp, end;
	int count = 0, place = 1;

	std::cin >> n >> m >> j;
	for (int i = 0; i < j; i++) {
		std::cin >> temp;
		if (place + m - 1 < temp) {
			end = temp - (place + m - 1);
			count += end;
			place = (place + end);
		}
		else if (place > temp) {
			count += place - temp;
			place = temp;
		}
	}
	std::cout << count;

	return (0);
}

 

ํ›„๊ธฐ

๋จธ๋ฆฌ์†์œผ๋กœ ์ •๋ฆฌ์ž์ฒด๊ฐ€ ์‰ฝ๊ฒŒ๋˜์ง€์•Š์•„ ๊ฝค๋‚˜ ํ’€์ด์— ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฐ ๊ฑฐ ๊ฐ™๋‹ค.

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm > ๋ฌธ์ œํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 13301๋ฒˆ - ํƒ€์ผ ์žฅ์‹๋ฌผ (C++)  (0) 2023.08.15
[๋ฐฑ์ค€] 2579๋ฒˆ - ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ (C++)  (0) 2023.08.14
[๋ฐฑ์ค€] 1904๋ฒˆ - 01ํƒ€์ผ (C++)  (0) 2023.08.12
[๋ฐฑ์ค€] 2097๋ฒˆ - ์กฐ์•ฝ๋Œ (C++)  (0) 2023.08.11
[๋ฐฑ์ค€] 9251๋ฒˆ - LCS (C++)  (0) 2023.08.09
  1. ๋ฌธ์ œ
  2. ์ž…๋ ฅ
  3. ์ถœ๋ ฅ
  4.  
  5. ํ’€์ด๊ณผ์ •
  6. code
  7. ํ›„๊ธฐ
moaoh
moaoh
๋‚˜์˜ ์„ฑ์žฅ ์ผ๊ธฐ.
moaoh
๐Ÿถ ๐Ÿพ
moaoh
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • Github
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • Algorithm
      • ๊ฐœ๋…์ •๋ฆฌ
      • ๋ฌธ์ œํ’€์ด
    • 42seoul
      • projects
    • CS
    • programming language
      • C++
      • Javascript
      • Go
      • Python
      • Front-end
      • Java
    • Java Spring
    • git
    • ์ผ์ƒ
      • ์ฑ… ์ฝ๊ธฐ

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ
moaoh
[๋ฐฑ์ค€] 2828๋ฒˆ - ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„ (C++)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.