나이와 가입 순서를 가지고 sorting하여 문제를 풀었는데, 과거에 내가 푼 방법을 보니 꽤 괜찮은 방법이 있어 여기에 기록한다.
나이가 1 ~ 200이므로 크기 201의 vector<string>배열을 만든다.
나이를 입력 받으면 radix sort(bucket sort)처럼 나이를 vector배열의 index로 사용하여 vector배열에 이름(string)을 저정한다.
나이 순으로 정렬하고, 나이가 같으면 가입순서대로 정렬해야 하는데, 일단 나이를 배열의 index로 사용했으므로 1부터 200까지 보면 나이순으로는 정렬이 되어 있고, 각 나이에 해당되는 배열에 가입한 순서대로 string이 저장되어 있으므로 따로 가입 순서에 따라 정렬할 필요도 없다.
그냥 배열의 순서대로 배열 내 저장된 순서대로 출력하면 정답이 된다.
댓글 없음:
댓글 쓰기