✏️ 문제풀이/백준
[백준/Java] 2563번 :: 색종이
bono-hye
2024. 4. 24. 23:04
🌱 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main
{
public static void main(String[] args) throws NumberFormatException, IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[][] arr = new int[100][100];
int sum = 0;
for(int i=0; i<n; i++)
{
StringTokenizer st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
for(int j=x; j< x+10; j++)
{
for(int k=y; k< y+10; k++)
{
if(arr[j][k] == 1)
continue;
arr[j][k] = 1;
sum += 1;
}
}
}
System.out.println(sum);
}
}
💡 정리
문제를 보고 수학적 계산식 밖에 안떠올라서 어떻게 풀어야 할지 한참을 방향을 잡지 못했다. 2차원 배열에 속해있는 문제인데 아예 배열 생각을 못했던 바보 같은 사람~
2차원 배열에 1을 채워넣고 이미 1인 값은 continue 수행하게 한다. 그럼 겹치는 부분이 중복 계산되지 않을 것!
이번 문제는 다양한 코드를 보고 도움을 얻어 풀었던 것 같다.
담에는 시간이 오래 걸려도 혼자 풀어봐야지 아자아자!