Coding Test

[SWEA] 1206. [S/W 문제해결 기본] 1일차 - View

연_우리 2022. 2. 10. 16:51
반응형
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

 

문제풀이

import java.util.*;
import java.io.FileInputStream;

class Solution
{
    public static void main(String args[]) throws Exception
    {
     
        Scanner sc = new Scanner(System.in);
        int widthMax = 1000;
        int heightMax = 255;
        int test_count = 10;
 
        for(int test_case = 1; test_case <= test_count; test_case++)
        {
            int buildingCount = sc.nextInt();
 
            int[][] map = new int[widthMax][heightMax];
 
            // 빌딩 정보 입력
            for(int width=0; width<buildingCount; width++){
                int heightLimit = sc.nextInt();
                for(int height=0; height<heightLimit; height++){
                    map[width][height] = 1;
                }
            }
 
            //1번째 빌딩 1층부터 왼쪽 오른쪽 확인
            int count = 0;
            for(int width=(0+2); width<(widthMax-2); width++){   //맨 왼쪽 오른쪽 두칸은 건물 지어지지 않음
 
                for(int height=0; height<heightMax; height++){
                    boolean left = (map[width-1][height] == 0) && (map[width-2][height] == 0);
                    boolean right = (map[width+1][height] == 0) && (map[width+2][height] == 0);
                    if(map[width][height] == 1 && left && right ){
                        count++;
                    }
                }
            }
            //System.out.println(Arrays.deepToString(map));
 
            System.out.println("#" + test_case + " " + count);
        }
         
    }
}

 

반응형
  • 네이버 블러그 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 구글 플러스 공유하기
  • 카카오톡 공유하기