Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/Algorithm

[Eric's ๋ฐฑ์ค€] 1946๋ฒˆ - ์‹ ์ž… ์‚ฌ์› - Java

Eric_ko 2023. 2. 9. 08:30

์•ˆ๋…•ํ•˜์„ธ์š”! Eric ์ž…๋‹ˆ๋‹ค!

์˜ค๋Š˜ ํ’€์–ด๋ณผ ๋ฌธ์ œ๋Š” ๋ฐฑ์ค€ 1946๋ฒˆ

์‹ ์ž…์‚ฌ์› ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น๋ฌธ์ œ๋Š” ๊ทธ๋ฆฌ๋”” ์œ ํ˜•์œผ๋กœ ํ’€์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์šฐ์„  ์˜ˆ์‹œ์—์„œ ๋‚˜์˜จ ๊ฐ’์„ ์ €๋Š” ์˜ค๋Š˜๋„ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค์„œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๋”” ์œ ํ˜•์—์„œ ์šฐ์„  ๊ฐ๊ฐ์˜ test ์ผ€์ด์Šค๋งˆ๋‹ค

์ €๋Š” A๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌ๋ฅผ ์šฐ์„  ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ( Comparble ์ด์šฉ)

๊ทธ๋Ÿฌ๋ฉด B ๊ธฐ์ค€์ด ์™”๋‹ค๊ฐ”๋‹คํ•˜๋ฉด์„œ ์ •๋ ฌ์ด ์•ˆ๋˜์–ด ์žˆ์„ํ…๋ฐ์š”,

 

์—ฌ๊ธฐ์—์„œ ์šฐ์„  A๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ๋˜์–ด์žˆ์œผ๋ฏ€๋กœ,

ํ•˜๋‚˜ํ•˜๋‚˜ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ๋ณด๋ฉด

 

(1 ,4) ์™€ (2, 3) ์„ ๋น„๊ตํ•˜๋ฉด (2, 3) ์ด A๋žญํฌ์—์„œ๋Š” ๋น„๋ก ์ง€๊ณ  ์žˆ์ง€๋งŒ, B๋žญํฌ์—์„œ๋Š”  (1, 4)์˜ 4 ๋ณด๋‹ค ๋“ฑ์ˆ˜๊ฐ€ ์ข‹์œผ๋‹ˆ

cnt + ์„ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ

( 2 ,3 ) ๊ณผ (3, 2)๋กœ ๋‚ด๋ ค๊ฐ”์„๋•Œ B๋žญํฌ๊ฐ€ 2๋กœ ๋” ์ข‹์œผ๋ฏ€๋กœ cnt+ ์„ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ์‹์œผ๋กœ ํ•˜๋ฉด ์ฒซ๋ฒˆ์งธ ์ผ€์ด์Šค์—์„œ๋Š”

(5, 5) ๋งŒ ํƒˆ๋ฝ! 

 

๋‘๋ฒˆ์งธ ์ผ€์ด์Šค๋ฅผ ๋ณด๋ฉด

( 1, 4) ๋ž‘ ( 2 , 5) ๋ฅผ ๋น„๊ตํ•ด๋ณด๋ฉด ( 2, 5)๋Š” (1, 4) ๋ณด๋‹ค A๋žญํฌ๋„ ์•ˆ์ข‹๊ณ , B๋žญํฌ๋„ ์•ˆ์ข‹์•„์„œ ํƒˆ๋ฝ!

(3, 6) ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ ์ด์œ ๋กœ ํƒˆ๋ฝ!

 

๋ฐ˜๋ฉด์—, (1, 4)์™€ (4, 2)๋Š” B๋žญํฌ์—์„œ ๋” ์ข‹์€ ์ ์ˆ˜ ์ด๋ฏ€๋กœ ํ•ฉ๊ฒฉ cnt+ 

 

์ด๋Ÿฐ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ฉด..!

 

์ฝ”๋“œ

์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๋ฉด..!

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;
public class N1946 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int tc = Integer.parseInt(br.readLine());
ArrayList<Candidate> arr;
StringTokenizer st;
for (int i = 0; i < tc; i++) {
int N = Integer.parseInt(br.readLine());
arr = new ArrayList<>();
for (int j = 0; j < N; j++) {
st = new StringTokenizer(br.readLine());
int rankA = Integer.parseInt(st.nextToken());
int rankB = Integer.parseInt(st.nextToken());
arr.add(new Candidate(rankA, rankB));
}
System.out.println(solution(arr, N));
}
br.close();
}
public static int solution(ArrayList<Candidate> arr, int N) {
int cnt = 0;
Collections.sort(arr);
int min = Integer.MAX_VALUE;
for (Candidate ob : arr) {
if (ob.rankB < min) {
min = ob.rankB;
cnt++;
}
}
return cnt;
}
}
class Candidate implements Comparable<Candidate> {
int rankA;
int rankB;
public Candidate(int rankA, int rankB) {
this.rankA = rankA;
this.rankB = rankB;
}
@Override
public int compareTo(Candidate o) {
// rankA๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ
return this.rankA - o.rankA;
}
}
view raw N1946.java hosted with โค by GitHub
Solved.ac ํ”„๋กœํ•„

 

 

์ด์ƒ ์‹ ์ž…์‚ฌ์› ๋ฌธ์ œ ์˜€์Šต๋‹ˆ๋‹ค.

 

P.S
๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๋ณด๋‹ˆ
์ €๋„ ์–ผ๋ฅธ ๊ฐœ๋ฐœ ์‹ ์ž…์‚ฌ์›์ด
๋˜๊ณ ์‹ถ๋„ค์—ฌ...