본문 바로가기
  • "하나씩 기록하다보면 누군가에게 도움이 되지 않을까"
IT/알고리즘 풀이

[백준] [자바] 15683번 : 감시

by raVineL 2021. 3. 20.
728x90

문제 출처

www.acmicpc.net/problem/15683

 

15683번: 감시

스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감

www.acmicpc.net


1. 풀이 접근

  ㆍ CCTV는 최대 8개 까지 설치 할 수 있음. 가로 또는 세로 방향으로 회전 가능

      - 최대 경우의 수가 4^8 나옴. 

 

  경우의 수에 따라 카메라 특성에 맞게 탐색 가능한지 확인

      - 벽을 만나거나, 경계 밖으로 나가면 취소

      ※ 나는 완전 하드코딩해서 모든 경우의 수 카메라 종류 5대, 방향 4개에 맞추어 구분해서 탐색 진행하게 코드 짬. 무식하게 짬.

 

  ㆍ 탐색 다 되면 갯수 세서 최댓값 저장. 

 

  ㆍ 마지막에 전체 크기 ( N * M ) - 커버된 갯수 - 벽 으로 감시 공간 체크

      - N * M , 벽은 크기가 고정이라 커버된 갯수가 많으면 많을 수록 사각지대가 없는 것)


2. 소스코드

github.com/Choi-JinYeong/Solve_Alg/tree/master/Solve_Algs/src/Git_BJ_15683

 

Choi-JinYeong/Solve_Alg

알고리즘 풀이. Contribute to Choi-JinYeong/Solve_Alg development by creating an account on GitHub.

github.com

 


3. 맺음말

  ㆍ 체감난이도 : 약간 쉬움

  접근 방법도 어렵지 않은데, 바라보는 방향과 회전가능한 방향을 경우의 수로 구해보려고 하다가 시간 소모 많이됨. 실제 시험시간이다 가정하고 1시간 반 넘기지 않으려해서 완전 모든 경우의 수로 하드코딩을 진행함. 더 이쁘게 구현할 수 있었을 것 같은데 나중에 기회되면 도전해 볼 예정

 

  더욱 좋은 풀이방법이나 보완할 수 있는 부분, 또는 문제가 될 수 있는 부분들은 알려주시면 감사하겠습니다.

728x90

댓글