티스토리 뷰

Coding Test

[Jungol] 1438. 색종이

lluna 2021. 12. 31. 01:00

 

논리연산자를 활용하는 문제였다.

 

오늘의 교훈 : 코테는 파이썬

 

Python

n = int(input())

arr = [[False] * 100 for _ in range(100)]

for _ in range(n):
    r, c = map(int, input().split())
    for i in range(r, r+10):
        for j in range(c, c+10):
            arr[i][j] = True

result = 0
for i in range(100):
    for j in range(100):
        if arr[i][j]:
            result += 1

print(result)

Java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

// 클래스명 Main 으로 바꾸어 제출할 것!
public class 색종이_1438 {
    public static void main(String[] args) throws IOException {
        // B.R 객체 생성
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 이차원 배열 초기화
        Boolean arr[][] = new Boolean[100][100];
        for (int i = 0; i < 100; i++) {
            Arrays.fill(arr[i], false);
        }

        // S.T 객체 생성
        StringTokenizer st = null;
        int n = Integer.parseInt(br.readLine());  // 입력 갯수

        for (int k = 0; k < n; k++) {
            st = new StringTokenizer(br.readLine());  // 공백 기준
            int r = Integer.parseInt(st.nextToken());
            int c = Integer.parseInt(st.nextToken());

            for (int i = r; i < r + 10; i++) {
                for (int j = c; j < c + 10; j++) {
                    arr[i][j] = true;
                }
            }
        }

        int result = 0;
        for (int q = 0; q < 100; q++) {
            for (int s = 0; s < 100; s++) {
                if (arr[q][s]) {
                    result += 1;
                }
            }
        }

        System.out.print(result);

    }
}
댓글