Algorithm

[알고리즘] SWEA_1208.Flatten

이수밈 2023. 8. 8. 22:59

길이가 100인 배열을 만들고, dump 입력받는 위치를 주의해야한다. (필자는 반복문 밖에서 dump를 입력받았다가 에러가 났다.. 당연함,, ㅋㅋ) 최대와 최소값을 찾아서 최대값은 -1을 해주고 최소값에는 +1을 해주는 dump 과정을 반복해줘야한다.

box 배열값을 100번 반복을 통해 입력을 받아준다. 

max와 min 을 찾는다.

최대를 찾으면 문제에서 처럼 -1을 해서 배열값을 한칸 낮춰주고 break! 그러나 반복문이 끝날때까지 최대값을 찾지 못했다면 max를 한칸 낮춰서 탐색을 한다 ( 다시 반복문으로 돌아감 ~ 찾을때까지) min도 똑같이 진행해준다.

 

그러나 마지막 100번째 박스 값이 max 인 경우, 출력값이 오류가 날 수 있기 때문에 다시 한번 위에서 해준 max, min 검사를 다시 진행해준다.

 

어려운 문제 ㅠㅠ

새로운 로직도 배웠다.

 

이 방법 외에도 카운팅 정렬을 사용해 문제를 해결하는 솔루션도 있다!