05-16 05:32
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[BAEKJOON] ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋”” 2828 :: ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„ ๋ณธ๋ฌธ

Algorithm/Baekjoon

[BAEKJOON] ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋”” 2828 :: ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„

miinsun 2022. 6. 13. 00:18

๐Ÿ’ฌ  ๋ฌธ์ œ ์„ค๋ช…

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

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

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

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

์ด๋•Œ, ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ด๋™ ๊ฑฐ๋ฆฌ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

๐Ÿ”จ  ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ 

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

์ถœ๋ ฅ

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

 

์˜ˆ์ œ ์ž…๋ ฅ 1)

5 1
3
1
5
3

 

์˜ˆ์ œ ์ถœ๋ ฅ 1)

6

 

์˜ˆ์ œ ์ž…๋ ฅ 2)

5 2
3
1
5
3

 

์˜ˆ์ œ ์ถœ๋ ฅ 2)

4

โ€‹

โ€‹

๐Ÿ’ป  Main.java

  • ์‚ฌ๊ณผ์˜ ์œ„์น˜๊ฐ€ ๋ฐ”๊ตฌ๋‹ˆ์˜ ๋๋ณด๋‹ค ํฌ๋ฉด ํ•ญ์ƒ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•ด์•ผํ•œ๋‹ค.
  • ์‚ฌ๊ณผ์˜ ์œ„์น˜๊ฐ€ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์‹œ์ž‘๋ณด๋‹ค ์ž‘์œผ๋ฉด ํ•ญ์ƒ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•ด์•ผํ•œ๋‹ค.
  • ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด๋™ํ•  ๋•Œ๋Š” ๋ฐ”๊ตฌ๋‹ˆ์˜ ํฌ๊ธฐ์™€ ์‹œ์ž‘์ , ๋์ ์— ์œ ์˜ํ•ด์„œ ์ด๋™ํ•ด์•ผํ•œ๋‹ค.
/* ๋ฐฑ์ค€ ๊ทธ๋ฆฌ๋””  - 2828 :: ์‚ฌ๊ณผ ๋‹ด๊ธฐ ๊ฒŒ์ž„ */
import java.util.*;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();	// ์Šคํฌ๋ฆฐ์˜ ํฌ๊ธฐ
		int m = sc.nextInt();	// ๋ฐ”๊ตฌ๋‹ˆ์˜ ํฌ๊ธฐ
		int j = sc.nextInt();	// ๋–จ์–ด์ง€๋Š” ์‚ฌ๊ณผ์˜ ๊ฐœ์ˆ˜
		
		int start = 1;	// ๋ฐ”๊ตฌ๋‹ˆ์˜ ์‹œ์ž‘์œ„์น˜
		int end = m;	// ๋ฐ”๊ตฌ๋‹ˆ์˜ ๋ ์œ„์น˜
		int answer = 0;
		for(int i = 0; i < j; i++) {
			int apple = sc.nextInt();
			
			if(end < apple) {	// ์‚ฌ๊ณผ๊ฐ€ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์˜ค๋ฅธ์ชฝ์— ์œ„์น˜ํ•  ๋•Œ
				// ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™
				answer += (apple - end);
				start = apple - m + 1;
				end = apple;
			}
			else if(start > apple) {	// ์‚ฌ๊ณผ๊ฐ€ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์™ผ์ชฝ์— ์œ„์น˜ํ• ๋•Œ
				// ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™
				answer += (start - apple);
				start = apple;
				end = apple + m - 1;
			}
			
		}
		
		System.out.println(answer);
		sc.close();
	}
}
Comments