https://www.acmicpc.net/problem/14594
๋ฌธ์
๋์๋ฆฌ๋ฐฉ์ด ๊ฐ์ง๊ณ ์ถ์๋ ๋ณ์ฐฌ์ด๋ LINK ์ฌ์ ๋จ์ ๋ฌธ์ํ์ฌ N๊ฐ์ ๋ฐฉ ์ค์ ํ๋๋ฅผ ์ป์ ๊ธฐํ๋ฅผ ์ป์๋ค. ์ผ์๋ก ๋์ด์๋ ๊ฑด๋ฌผ์ N๊ฐ์ ๋ฐฉ์ ์ผ์ง์ ์์ ์กด์ฌํ๋ฉฐ, ๊ฐ ๋ฐฉ์๋ ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋ค. ๋งจ ์ผ์ชฝ ๋ฐฉ์ ๋ฒํธ๋ 1๋ฒ์ด๋ฉฐ, ์์๋๋ก ์ฆ๊ฐํ์ฌ ๋งจ ์ค๋ฅธ์ชฝ ๋ฐฉ์ ๋ฒํธ๊ฐ N๋ฒ์ด๋ค. ๊ฐ ๋ฐฉ ์ฌ์ด์๋ ๋ฐฉ์ ๊ตฌ๋ถํ๋ ๋ฒฝ์ด ์กด์ฌํ๋ค.
๋ฌผ๋ก ๋ณ์ฐฌ์ด ์ธ์๋ ๋ง์ ์ฌ๋์ด ๋์๋ฆฌ๋ฐฉ์ ์ํ๋ค. ๋คํํ ๋ฐฉ์ ์ถฉ๋ถํ๊ธฐ์ ๋ณ์ฐฌ์ด๋ ์์ฌํ๊ณ ์์์ง๋ง…
๊ทธ๋์๋ค.
๋น -์ข ๋น๋น๋ฐ์ด ๋ํ๋ ๊ฑด๋ฌผ ๋ฒฝ์ ํ๋ฌผ๊ธฐ ์์ํ ๊ฒ์ด๋ค! ๋น -์ข ๋น๋น๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ๋ฒฝ์ ๋ฌด๋๋จ๋ฆฐ๋ค.
- x < y ๋ฅผ ๋ง์กฑํ๋ ๋ ๋ฐฉ์ ๋ํด์ x๋ฒ ๋ฐฉ๋ถํฐ y๋ฒ ๋ฐฉ ์ฌ์ด์ ์๋ ๋ชจ๋ ๋ฒฝ์ ํ๋ฌธ๋ค.
- ๋ ๋ฐฉ ์ฌ์ด์ ๋ฒฝ์ด ํ๋ฌผ์ด์ง๋ฉด ๋ ๋ฐฉ์ ํ๋์ ๋ฐฉ์ผ๋ก ํฉ์ณ์ง๋ค.
- ์ด๋ฏธ ํ๋ฌผ์ด์ง ๋ฒฝ์ด ์กด์ฌํ๋ค๋ฉด ๋ฌด์ํ๊ณ ๋ค์ ๋ฒฝ์ ํ๋ฌธ๋ค.
- ๋น -์ข ๋น๋น๋ฐ์ ๊ฑด๋ฌผ์ด ๋ฌด๋์ง๋ ๊ฑธ ์์น ์๊ธฐ ๋๋ฌธ์, 1๋ฒ ๋ฐฉ์ ์ผ์ชฝ ๋ฒฝ๊ณผ N๋ฒ ๋ฐฉ์ ์ค๋ฅธ์ชฝ ๋ฒฝ(์ฆ, ๋ฐ๊นฅ๊ณผ ์ฐ๊ฒฐ๋ ๋ฒฝ)์ ํ๋ฌผ์ง ์๋๋ค.
๋์๋ฆฌ ๋ฐฉ์ ๊ฐ์๊ฐ ์ ์ ์ค์ด๋ค์ ๋ณ์ฐฌ์ด๋ ์ด์กฐํด์ก๋ค. ์ด์ ๋ณ์ฐฌ์ด๋ ๋์๋ฆฌ๋ฐฉ์ ์ป์ ์ ์๋์ง์ ๋ํ ํ๋ฅ ์ ๊ณ์ฐํ๊ธฐ ์ํด ๋จ๋ ๋์๋ฆฌ๋ฐฉ์ ์๋ฅผ ๊ตฌํ๊ณ ์ถ์ด ํ๋ค. ๋ณ์ฐฌ์ด๋ฅผ ์ํด ๋น -์ข ๋น๋น๋ฐ์ ํ๋ ํ์ M๊ณผ ๋๋ฐฉ์ ๊ฐ์ N์ด ์ฃผ์ด์ก์ ๋, ๋จ์ ๋์๋ฆฌ๋ฐฉ์ ์๋ฅผ ๊ตฌํด์ฃผ์.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์๋ ๋์๋ฆฌ๋ฐฉ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์ ์ ์ N(2 ≤ N ≤ 100) ์ด ์ฃผ์ด์ง๋ค. ๋ ๋ฒ์งธ ์ค์๋ ๋น -์ข ๋น๋น๋ฐ์ ํ๋ ํ์๋ฅผ ๋ํ๋ด๋ ์์ด ์๋ ์ ์ M(0 ≤ M ≤ 100) ์ด ์ฃผ์ด์ง๋ค. ์ธ ๋ฒ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ๊ฑธ์ณ ๋น -์ข ๋น๋น๋ฐ์ ํ๋์ด ์์ ์ ์ x, y(1 ≤ x < y ≤ N) ๋ก ์ฃผ์ด์ง๋ค. ์ฌ๊ธฐ์ ํ๋์ด๋ x๋ฒ ๋ฐฉ๋ถํฐ y๋ฒ ๋ฐฉ ์ฌ์ด์ ๋ฒฝ์ ๋ฌด๋๋จ๋ฆฌ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋น -์ข ๋น๋น๋ฐ์ ๋งค์ฐ ํ๋น์ด๊ธฐ ๋๋ฌธ์ ๋์ผํ ํ๋์ ์ฌ๋ฌ ๋ฒ ํ ์ ์์์ ์ ์ํ๋ผ.
์ถ๋ ฅ
๋น -์ข ๋น๋น๋ฐ์ ๋ชจ๋ ํ๋์ด ๋๋ ํ ๋จ์์๋ ๋๋ฐฉ์ ๊ฐ์๋ฅผ ํ ์ค์ ์ถ๋ ฅํ๋ค.
ํ์ด
boolean[] room
๐ true ๋ผ๋ฉด, ์ค๋ฅธ์ชฝ ๋ฒฝ์ด ํ๋ฌผ์ด์ง
๐ false ๋ผ๋ฉด, ์ค๋ฅธ์ชฝ ๋ฒฝ์ด ํ๋ฌผ์ด์ง์ง ์์
์ ๋ปํจ
์
๋ ฅ์ผ๋ก ๋ค์ด์ด
x ~ y-1์ true๋ก ๋ฐ๊ฟ์ค!!
๋ง์ง๋ง์ false์ ๊ฐฏ์๋ฅผ ์ธ๋ฉด ๋ต ๋์ด~~!!!!
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main_BOJ_14594_๋๋ฐฉ_ํ๋ก์ ํธ_Small {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer;
int N = Integer.parseInt(br.readLine());
int M = Integer.parseInt(br.readLine());
boolean[] room = new boolean[N+1];
while (M-- > 0) {
stringTokenizer = new StringTokenizer(br.readLine());
int x = Integer.parseInt(stringTokenizer.nextToken());
int y = Integer.parseInt(stringTokenizer.nextToken());
for (int i = x ; i < y; i++) {
room[i] = true;
}
}
int cnt = 0;
for (int i = 1; i < N + 1; i++) {
if(!room[i]) cnt += 1;
}
System.out.println(cnt);
}
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ BOJ / ๋ฐฑ์ค ] 2048 EASY (JAVA / ์๋ฐ) (0) | 2022.09.28 |
---|---|
[ BOJ / ๋ฐฑ์ค 17825 ] ์ฃผ์ฌ์ ์ท๋์ด ( ์๋ฐ / JAVA ) (0) | 2022.04.15 |
[ ๋ฐฑ์ค / BOJ 13460 ] ๊ตฌ์ฌ ํ์ถ 2 ( ์๋ฐ / JAVA ) (0) | 2022.03.06 |
[ ๋ฐฑ์ค / BOJ 22861 ] ํด๋ ์ ๋ฆฌ - large ( JAVA / ์๋ฐ ) (0) | 2022.02.22 |
[ BOJ / ๋ฐฑ์ค 17837 ] ์๋ก์ด ๊ฒ์ 2 (0) | 2022.02.22 |