삼성 기출 문제 풀기
https://www.acmicpc.net/problem/16236
16236번: 아기 상어
N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크
www.acmicpc.net
아기상어는 BFS+시뮬레이션으로 보고 풀었다.
조건에 따라 상어가 먹을 수 있는 물고기를 찾으면서, BFS를 돌리면서 먹을 수 있는 물고기를 찾고 Comparable 로 조건에 맞는 우선순위를 주어서 타겟 물고기를 찾아서 먹고 그 위치에 상어를 기록한다. 이 때에 상어의 크기가 증가하는 지 확인해준다.
그렇게 계속 돌리면서 상어가 먹을 수 있는 물고기가 있는 지 계속 찾아나간다.
아직 코드 구현력에서 미숙한 부분이 많아서 난잡해서 보기 어렵다...
조금 더 깔끔하게 코드를 구상해야 되겠다.
'알고리즘' 카테고리의 다른 글
백준 14502 연구소 - JAVA (0) | 2020.03.02 |
---|---|
[백준 13458 - JAVA] 시험감독 (0) | 2020.03.01 |
[삼성 SW 역량 테스트 기출 문제집] 백준 3190 뱀 (0) | 2020.02.26 |
[삼성 SW 역량 테스트 기출 문제집] 백준 17144 미세먼지 안녕! (0) | 2020.02.25 |
[삼성 SW 역량 테스트 기출 문제집] 백준 14503 - 로봇청소기 (0) | 2020.02.24 |