01-10 04:27
Recent Posts
Recent Comments
관리 메뉴

miinsun

[BAEKJOON] λ°±μ€€ 그리디 2875 :: λŒ€νšŒ or 인턴 JAVA λ³Έλ¬Έ

Algorithm/Baekjoon

[BAEKJOON] λ°±μ€€ 그리디 2875 :: λŒ€νšŒ or 인턴 JAVA

miinsun 2022. 3. 16. 16:20

 

πŸ’¬  문제 μ„€λͺ…

λ°±μ€€λŒ€ν•™κ΅μ—μ„œλŠ” λŒ€νšŒμ— λ‚˜κ°ˆ λ•Œ 2λͺ…μ˜ 여학생과 1λͺ…μ˜ 남학생이 νŒ€μ„ κ²°μ„±ν•΄μ„œ λ‚˜κ°€λŠ” 것이 원칙이닀. (μ™œμΈμ§€λŠ” 총μž₯λ‹˜κ»˜ μ—¬μ­ˆμ–΄λ³΄λŠ” 것이 μ’‹κ² λ‹€.)

λ°±μ€€λŒ€ν•™κ΅λŠ” λ›°μ–΄λ‚œ μΈμž¬λ“€μ΄ λ§Žμ•„ μ˜¬ν•΄μ—λ„ Nλͺ…μ˜ 여학생과 Mλͺ…μ˜ 남학생이 νŒ€μ›μ„ μ°Ύκ³  μžˆλ‹€.
λŒ€νšŒμ— μ°Έμ—¬ν•˜λ €λŠ” 학생듀 쀑 Kλͺ…은 λ°˜λ“œμ‹œ 인턴쉽 ν”„λ‘œκ·Έλž¨μ— μ°Έμ—¬ν•΄μ•Ό ν•œλ‹€.
인턴쉽에 μ°Έμ—¬ν•˜λŠ” 학생은 λŒ€νšŒμ— μ°Έμ—¬ν•˜μ§€ λͺ»ν•œλ‹€.

λ°±μ€€λŒ€ν•™κ΅μ—μ„œλŠ” λ›°μ–΄λ‚œ μΈμž¬λ“€μ΄ 많기 λ•Œλ¬Έμ—, λ§Žμ€ νŒ€μ„ λ§Œλ“œλŠ” 것이 μ΅œμ„ μ΄λ‹€.
μ—¬λŸ¬λΆ„μ€ μ—¬ν•™μƒμ˜ 수 N, λ‚¨ν•™μƒμ˜ 수 M, 인턴쉽에 μ°Έμ—¬ν•΄μ•Όν•˜λŠ” 인원 Kκ°€ μ£Όμ–΄μ§ˆ λ•Œ λ§Œλ“€ 수 μžˆλŠ” μ΅œλŒ€μ˜ νŒ€ 수λ₯Ό κ΅¬ν•˜λ©΄ λœλ‹€.

 

πŸ”¨  μž…μΆœλ ₯ 예

μž…λ ₯ 

  •  μ²«μ§Έ 쀄에 N, M, Kκ°€ μˆœμ„œλŒ€λ‘œ 주어진닀. (0 ≤ M ≤ 100, 0 ≤ N ≤ 100, 0 ≤ K ≤ M+N),
 

좜λ ₯

  •  λ§Œλ“€ 수 μžˆλŠ” νŒ€μ˜ μ΅œλŒ€ κ°œμˆ˜μ„ 좜λ ₯ν•˜λ©΄ λœλ‹€.

 

예제 μž…λ ₯ 1)

6 3 2

 

예제 좜λ ₯ 1)

2

 

예제 μž…λ ₯ 2)

2 1 1

 

예제 좜λ ₯ 2)

0

​

예제 μž…λ ₯ 3)

6 10 3

 

예제 좜λ ₯ 3)

3

​

πŸ’»  Main.java

  • 그리디 μ•Œκ³ λ¦¬μ¦˜μ€ 각 μ„ νƒμ—μ„œ μ΅œμ„ μ˜ 방식을 선택함
  • νŒ€μœΌλ‘œ λ‚˜λˆŒ 수 μžˆλŠ” κ²½μš°μ—λ§Œ answer++λ₯Ό ν•΄μ£Όμž
  • μ—¬μžκ°€ 2λͺ…이상이고, λ‚¨μžκ°€ 2λͺ… 이상 μžˆμ„ λ•Œ, 남은 ν•™μƒλ“€μ˜ 합이 k보닀 ν¬κ±°λ‚˜ 같을 λ•Œ νŒ€μ„ λ§Œλ“€ 수 μžˆλ‹€.
/* λ°±μ€€ 그리디 - 2875 :: λŒ€νšŒ or 인턴 */
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		// n:μ—¬μž, m:λ‚¨μž, k:인
		int n = sc.nextInt();
		int m = sc.nextInt();
		int k = sc.nextInt();
		int answer = 0;
		
		while (n >= 2 && m >= 1 && n + m - 3 >= k) {
			n -= 2;
			m--;
			answer++;
		}
		
		System.out.println(answer);
		sc.close();
	}
}
Comments