2563๋ฒ: ์์ข ์ด (acmicpc.net)
1. ๋ด ์ฝ๋
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// ๋ํ์ง ๋ง๋ค๊ธฐ
String [][] arr= new String[100][100];
// ๋ํ์ง ์์ ์ ๋ถ _๋ก ์ฑ์ฐ๊ธฐ
for (int i = 0; i < 100; i++) {
Arrays.fill(arr[i], "_");
}
// ์์ข
์ด ๋ถ๋ถ์ Y๋ก ์ฑ์ฐ๊ธฐ
for (int i = 0; i < N; i++) {
int x = sc.nextInt();
int y = sc.nextInt();
for (int j = x; j < x+10; j++) {
for (int k = y; k < y+10; k++) {
arr[j][k] = "Y";
}
}
}
// Y์ ์๋ฅผ ์ธ๋ฉด ์์ข
์ด์ ์ด ๋์ด๊ฐ ๋์จ๋ค.
System.out.println( Arrays.stream(arr).flatMap(Arrays::stream).filter(s -> s.equals("Y")).count());
}
}
2. ๋ฐฐ์ด ์
Arrays.fill(ํ๊ฒ๋ฐฐ์ด, ์ฑ์ธ ๋ง)
์ฑ์ธ ๋ง๋ก ํ๊ฒ ๋ฐฐ์ด์ ๋ค ์ฑ์์ง๋ค.
flatMap
๋ณต์กํ ์๋ฃ ๊ตฌ์กฐ์ ์ ์ฅ๋ ์์๋ค์ ๋ด๊ฐ ์ง์ ํ ๋จ์ํ ์๋ฃ๊ตฌ์กฐ์ ์ ์ฅ๋๋๋ก ํด์ค๋ค.
flatMap(x -> Arrays.stream(x))๋ก ํ๋๋ฐ, ๋ด๊ฐ ์ฒ์ ์ด ๋ฐฐ์ด์ด 2์ฐจ์ ๋ฐฐ์ด์ด๋ผ x์๋ 2์ฐจ์ ๋ฐฐ์ด์ ์์๋ค์ธ 1์ฐจ์ ๋ฐฐ์ด๋ค์ด ๋ค์ด๊ฐ๊ณ , ๊ทธ๊ฒ์ 1์ฐจ์ ๋ฐฐ์ด์ Stream์ผ๋ก ๋ฐ๊ฟ์คฌ๋ค.
์ฌ๊ธฐ์ ์ค์ํ ์ ์ 2์ฐจ์ ๋ฐฐ์ด์ ์์๋ฅผ ์ ๋ถ ๊บผ๋ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ฆฌํดํด์ค๋ค๋ ๊ฒ์ด๋ค.
0