๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/1895)
< ํํฐ >
๋ฌธ์ ํ์ด
์ด๋ฏธ์ง์ 3x3 ํฌ๊ธฐ์ ํํฐ๋ฅผ ๋๊ณ ์์ง์ด๋ฉด์ ์ค์๊ฐ์ ์ฐพ๋๋ค.
* ์ด ๋ฌธ์ ์์ T๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒ์ ๊ฐ์๋ฅผ ์ฐพ๋ ๊ฒ์ด๋ฏ๋ก ์ค์๊ฐ๋ค์ ๋ฐ๋ก ์ ์ฅํ ํ์ ์์ด ์ค์๊ฐ์ ํ๋ ๊ตฌํ ๋๋ง๋ค T์ ๊ฐ์ ๋น๊ตํด์ ๊ฐ์๋ฅผ ์ธ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class _1895_ { // ํํฐ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(bf.readLine());
int r = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
int arr[][] = new int[r][c];
for (int i = 0; i < r; i++) {
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < c; j++) {
arr[i][j] = Integer.parseInt(st.nextToken());
}
}
int t = Integer.parseInt(bf.readLine());
ArrayList<Integer> list = new ArrayList<>();
int result = 0;
for (int i = 0; i <= r - 3; i++) {
for (int j = 0; j <= c - 3; j++) {
for (int x = i; x < i + 3; x++) {
for (int y = j; y < j + 3; y++) {
list.add(arr[x][y]);
}
}
Collections.sort(list);
if (list.get(4) >= t) {
result += 1;
}
list.clear();
}
}
System.out.println(result);
}
}
๋ณ์)
r, c : ์ด๋ฏธ์ง ํฌ๊ธฐ
arr : ํฝ์ ๊ฐ
t : T ๊ฐ
list : 3x3 ๊ตฌ๊ฐ์ ๊ฐ
result : T๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒ์ ๊ฐ์
์ด๋ฏธ์ง์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ํฝ์ ๊ฐ์ ์ ๋ ฅ๋ฐ๋๋ค. ์ผ์ชฝ ์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก 3x3 ํํฐ๋ฅผ ์์ง์ด๋ฉฐ 3x3 ๋ฒ์ ์์ ์๋ ๊ฐ์ list์ ์ ์ฅํ๋ค. list๋ฅผ ์ ๋ ฌ ํ ๊ฐ์ด๋ฐ ๊ฐ์ธ 4๋ฒ์งธ ๊ฐ์ ๊ตฌํ๋ค. ์ด ๊ฐ์ด T๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค๋ฉด ์ ๋ต์ด๋ฏ๋ก result+1์ ํด์ค๋ค.
์ต์ข ์ ๋ต์ธ result๋ฅผ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 11779_์ต์๋น์ฉ ๊ตฌํ๊ธฐ 2 (0) | 2024.01.09 |
---|---|
[Baekjoon] 1238_ํํฐ (1) | 2024.01.08 |
[Baekjoon] 2890_์นด์ฝ (1) | 2024.01.04 |
[Baekjoon] 9237_์ด์ฅ๋ ์ด๋ (1) | 2024.01.03 |
[Baekjoon] 14469_์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 3 (1) | 2024.01.02 |