240425-TIL
4월 25일
계속해서 코딩 테스트 준비를 하는중이다
오늘 풀어본 문제는
바탕화면 정리

문제가 오늘도 길다 사실 그냥 바탕화면의 폴더를 드래그하면되는데 가장 작은 범위로 드래그해서 모든 폴더를 담으면 된다고 한다

바로 이런식으로
잘 보면 wallpaper에 폴더가 들어있는 위치는 #으로 표시해둔게 보인다. 우리는 저 #의 위치를 잘 보고 드래그할 범위를 찾아주면된다.

솔루션의 초기 상태이다. 일단 편하게 문제를 풀기위해 선행작업을 해주자

answer에 바로 정수의 최대값을 0,1번 인덱스의 위치에 넣어주고 0,0은 2번인덱스과 3번인덱스에 넣어주자
answer에 들어올 값은 최소 좌표 [min,min] 최대 좌표 [max,max]가 들어올꺼기때문에 이렇게 만들어주면
Math.Min과 Math.Max를 통해 쉽게 값을 얻을수있다.

그 다음은 이중반복문을 통해 wallpaper에 들어있는 '#'을 찾는다

사실 answer[0]과 answer[1]이 바뀌는 일은 없다 딱 첫위치를 찍고 드래그를한다고하면 중요한건
answer[2]와 answer[3]인데 만약폴더가 하나밖에 없으면 당연히 answer[0]과 answer[1]에 들어간것보다 +1씩 증가
해서 드래그 범위가 정해질꺼기 때문에
반복문을 돌며 전에 들어갔던 값과 새로 들어갈 값중에 더 큰 값을 다시 넣어주면 반복문이 끝났을때 가장 최소 드래그 범위를 찾을수 있게된다

시간까지 잘 나온거같다.
끝
요즘엔 진짜 문제 푸는것보다 지문을 읽고 이해하는것에 더 시간을 오래 쏟는것 같다.
4월 25일 TIL은 여기서 마치도록 하겠다.