[JAVA] 2D Array sort (2차원 배열 정렬하기)
int[][] arr = new int[10][3]; Arrays.sort(arr,(a,b)->{ if(a[0]!=b[0]) return a[0]-b[0]; else if(a[1]!=b[1])return a[1]-b[1]; else return a[2]-b[2]; }); 2차원 int형 배열인 arr를 정렬하는 코드다. 위 코드는 1번째,2번째,3번째 순으로 오름차순 정렬하는 코드다. 예를 들어 아래의 배열을 정렬하면? [ [1,8,2], [1,3,8], [1,3,7], [2,0,0] ] 결과) [ [1,3,7], [1,3,8], [1,8,2], [2,0,0] ]
2020. 8. 21.
[JAVA] 토마토 (백준 7569)
이 문제는 2차원이 아니라 3차원으로 bfs푸는 것이다. 또한 익기 시작하는 지점이 정해진 것도 아니며 여러개가 있을 수도 있고 없을 수도 있다. 관건은 모든 토마토가 익었는지 확인하는 것과 모두 익었다면 며칠이 걸리는지 구하는 것이 핵심이다. 본인이 접근한 방법대로 2층짜리 3x3 토마토상자가 있다고 가정하고 풀어보는 예시를 보자. 예) (z,x,y) 에서 z 는 높이이며 , x 는 가로, y는 세로다. x,y,z 모두 0부터 시작한다. 시작전 ( 0초 ) 큐에 남은 좌표 : (0,1,1) 1층 0 0 0 0 1 0 0 0 0 2층 0 0 0 0 0 0 0 0 0 1초후 큐에 남은 좌표: (0,0,1) , (0,1,0), (0,2,1) , (0,1,2) 1층 0 2 0 2 1 2 0 2 0 2층 0 0..
2020. 8. 15.