반응형

1. 문제 번호 2563번


 

 

 

2. 문제 풀이 

 

한줄 평가

 - 기본에 충실하게 푼다 !

 

 

문제를 먼저 정확히 파악

 

 - 100x100 판 존재

 - 0,0 에 1장 10,10에 1장 붙이면 총 면적이 200 이다. (가로x세로)

 - 0,0 에 1장 1,1에 1장 붙이면 총 면적이 110이다.

   설명 : 첫번째 종이가 10x10 으로 100 + 두번째 종이가 (1,1 ~10,10까지 첫 번째 종이와 중복) 10,10~11,11까지 면적 10

 

 

 

 

 

나의 문제풀이 방식 및 순서

 

 * 나의 다양한 학습이 우선이기 때문에 다양한 방법을 생각 *

 

 

좌표로 생각하며 길이를 계산하려고 하지말고 1로 마킹한다고 생각

  1. 2차원 배열에 반복문을 돌면서 1로 색칠
  2. 100x100반복문 돌면서 더하기만 하면됌 
    1. 근데 이렇게 하면 비효율적이니 1로 색칠할때 +1 씩 해버리면 끝~

 

 

 

 

 

아니 보자마자 바로 실버문제 풀어버리니 겁나 뿌듯하네 ? 🤩

 


3. 소스 인증

 

import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int inputLineCnt = Integer.parseInt(br.readLine());
        StringTokenizer st;

        int maxRows = 100;
        int maxColumns = 100;
        int width = 10;
        int heigh = 10;
        char [][] matrix = new char[maxRows][maxColumns];
        int totalWidth = 0;

        for(int i = 0; i < inputLineCnt; i++){
            st = new StringTokenizer(br.readLine());
            int x = Integer.parseInt(st.nextToken());
            int y = Integer.parseInt(st.nextToken());

            for(int from = x; from < x+width; from++){
                for(int to = y; to < y+heigh; to++){
                    if(matrix[from][to] != 1){
                        matrix[from][to] = 1;
                        totalWidth += 1;
                    }
                }
            }
        }
        System.out.println(totalWidth);
    }
}

 

 

 

 

 

 

 

- 실패 소스코드 -

 

 

 

 

 

 


4. 추가 개념

 

 

 

 

 

 

 

 

 


5. 참조 블로그


 

불편함을 느끼실 경우 연락 주시면 곧 바로 삭제하도록 하겠습니다.

 


 

 

 

 

 

 

 

 

728x90
반응형

+ Recent posts