백준 알고리즘 1015

은영·2023년 4월 28일
0

백준 알고리즘 공부

목록 보기
10/26

이렇게만 보았을 때는 어떤 문제인지 감을 잡지 못 하였다.

하지만 예제를 보고 이해할 수 있었다

주어진 배열 A가 비내림차순이 될 때 각 원소들이 가지는 인덱스 값들이 들어가는 배열을 만들라는 것.

이 알고리즘을 풀이하면서 다시 복습한 내용
: sorted() 함수

나는 주로 정렬을 할 일이 있을 때 객체를 반환하지 않고 주어진 객체의 내용을 변경하는 sort() 함수를 자주 이용한다. 하지만 이 알고리즘의 경우 sort()를 이용할 경우 처음 입력 받은 순서를 확인할 수 없게 되어 이전에 복사를 해두어야 하는 일이 발생한다. 그래서 정렬된 배열을 반환하는 sorted()함수를 사용하는 것이 좋은데

그래서 sorted()를 사용한 코드는 아래와 같다.


코드 참조 블로그 : https://jinho-study.tistory.com/11

숫자를 순서대로 입력을 받고 sorted() 함수를 통해 오름차순(이자 문제에서 말하는 비내림차순에도 해당)으로 정렬한 배열을 따로 sorted_arr 이라는 변수에 저장한 후, ret이라는 빈 배열을 만들었다.

기존 arr배열의 i번째 값들이 sorted_arr에서의 인덱스가 어떻게 되는지 추출하고 ret에 추가하였으며, 이미 추가된 값의 인덱스의 경우 sorted_arr에서 값을 -1로 처리하여 중복된 값이 들어와도 같은 인덱스를 반환하지 않고 다음 인덱스를 반환할 수 있도록 한다.

0개의 댓글

관련 채용 정보