본문 바로가기
백준 문제풀이

그리디 - 백준 1931번 : 회의실 배정(**)

by watergrace2u 2023. 8. 8.
반응형
SMALL

이차원 배열을 사용하지 않고 ArrayList를 사용하고 싶었다.

그런데 기존에 알고 있던 Arrays.sort()를 이용하여 정렬을 재정의하는 방법이 먹히지 않아,

다른 방법을 찾다가 클래스를 이용하는 방식을 알게 되었다.

그래서 회의 시작시간과 끝나는 시간을 멤버변수로 가진 클래스를 만들어,

아래와 같은 코드를 짜보았다.

 

하지만.... 틀렸다... 원인은 아직 모르겠다. 다음에 찾아야겠다.

 

위의 방식은 틀렸지만, 그래도 나름 배운게 있다. 클래스를 이용하여 저렇게 정렬을 재정의할 수 있구나!

 

그리고 다음 방식으로... 찾아본 결과

그냥 이차원 배열로 쉽게 푼 것이 있었다.

 

위의 방식으로 다시 풀었다.

 

나는 아직 어떤 곳에서 ArrayList를 사용할지, 그냥 편하게 이차원배열을 사용할 지 구분을 못하는 것 같다.

더 많은 문제를 풀어보자!

그리고 정렬을 내 마음대로 재정의하여 푸는 것은 잘 기억해두자!!

 

과거에 알고리즘 수업시간에 배운대로

1. 종료 시간 순으로 정렬 후,

2. 앞에서부터 겹치지 않게 고르면

된다. 라고 생각했다.

 

그런데 종료시간 순으로 정렬할 때 내가 놓쳤던 부분은, "종료시간이 같을 경우에는 시작시간이 빠른 순으로 정렬해야한다". 이부분 꼭 기억하자. 

 

그리디 문제 많이 풀어보자!

반응형
LIST

댓글