๐ท๐ผ๋ชจ์ฌ๋ด์ ๊ฐ๋ฐ์์ฒ๐ท๐ผ
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 18์ผ์ฐจ - ์ค์ฒฉ์ ๋ณธ๋ฌธ
๊ฐ๋ฐ/์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 18์ผ์ฐจ - ์ค์ฒฉ์
์์ผ์ด 2023. 9. 7. 15:01๋ฐ์ํ
๋ฌธ์
https://level.goorm.io/exam/195700/%EC%A4%91%EC%B2%A9-%EC%A0%90/quiz/1
๋ด๊ฐ ์๊ฐํ ๊ณผ์
1. ๊ฐ๋ก๋ฅผ ๋จผ์ ๊ธ๊ณ ๊ฐ๋ก์ ๊ฐฏ์๋ฅผ ์ ์ฅํด ๋๋ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
2. ์ธ๋ก๋ฅผ ๊ทธ์๋ ๊ฐ๋ก๊ฐ ๊ทธ์ด์ ธ ์๋ ๊ณณ์ด๋ ๊ฒน์น ๋ ๊ฐ๋ก์ ๊ฐฏ์๋ฅผ answer์ ๋ํด์ค๋ค.
import java.io.*;
import java.util.*;
class Main {
public long solution(int N, int M, long[][] arr, ArrayList<ArrayList<Integer>> garo, ArrayList<ArrayList<Integer>> sero) {
long answer = 0;
boolean[][] box = new boolean[N][N];
for(int i=0; i< garo.size(); i++){
int min_x = garo.get(i).get(0);
int min_y = garo.get(i).get(1);
int max_x = garo.get(i).get(2);
int max_y = garo.get(i).get(3);
for(int j=min_y; j<=max_y; j++){
box[min_x][j] = true;
arr[min_x][j]++;
}
}
for(int i=0; i<sero.size(); i++){
int min_x = sero.get(i).get(0);
int min_y = sero.get(i).get(1);
int max_x = sero.get(i).get(2);
int max_y = sero.get(i).get(3);
for(int j=min_x; j<=max_x; j++){
if(box[j][min_y]){
answer += arr[j][min_y];
}
}
}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int M = sc.nextInt();
long[][] arr = new long[N][N];
ArrayList<ArrayList<Integer>> garo = new ArrayList<>();
ArrayList<ArrayList<Integer>> sero = new ArrayList<>();
for(int i=0; i<M; i++){
int a = sc.nextInt();
int b = sc.nextInt();
String d = sc.next();
ArrayList<Integer> tmp = new ArrayList<>();
if(d.equals("U")){
tmp.add(0);
tmp.add(b-1);
tmp.add(a-1);
tmp.add(b-1);
sero.add(tmp);
}else if(d.equals("D")){
tmp.add(a-1);
tmp.add(b-1);
tmp.add(N-1);
tmp.add(b-1);
sero.add(tmp);
}else if(d.equals("L")){
tmp.add(a-1);
tmp.add(0);
tmp.add(a-1);
tmp.add(b-1);
garo.add(tmp);
}else{
tmp.add(a-1);
tmp.add(b-1);
tmp.add(a-1);
tmp.add(N-1);
garo.add(tmp);
}
}
long answer = main.solution(N, M, arr, garo, sero);
System.out.println(answer);
}
}
'๊ฐ๋ฐ > ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ตฌ๋ฆํค 19์ผ์ฐจ JAVA] ๋์ฒด ๊ฒฝ๋ก (0) | 2023.09.08 |
---|---|
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 7์ผ์ฐจ - ๊ตฌ๋ฆ์ฐพ๊ธฐ๊น๋ฐ (0) | 2023.08.22 |
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 6์ผ์ฐจ - ๋ฌธ์์ด ๋๋๊ธฐ (0) | 2023.08.21 |
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 5์ผ์ฐจ - ์ด์ง์ ์ ๋ ฌ (0) | 2023.08.18 |
[๊ตฌ๋ฆํค์ฑ๋ฆฐ์ง/JAVA] 4์ผ์ฐจ - ์๋ฒฝํ ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ (0) | 2023.08.17 |
Comments