프로그래밍 공부/Python

[Python] 정렬 함수에 대해서

hueco 2022. 8. 27.

 

# 1

 평소처럼 알고리즘 문제를 풀고 나서 내 풀이와 다른 사람의 풀이를 비교하는 중에 내 풀이보다 짧고 단순해 보이는 풀이를 발견해 내 풀이 맞게 코드를 수정했지만 결괏값이 일치하지 않았다. 그래서 전체 코드를 하나씩 비교해보니 내 풀이와 정렬하는 부분에서 다르다는 것을 확인했고, 이 차이는 아래와 같다.

 

 

나는 위의 1번 방법으로 정렬했지만, 다른 풀이는 2번 방법으로 정렬을 해주었다. 이렇게 서로 다른 방법으로 정렬을 했을 때의 결과는 아래의 이미지와 같은데, 보다시피 정렬의 결과가 다르게 나온다.

 

 

 이 결과를 보고 파이썬의 문법을 다시 떠올려보니 내가 적용했던 첫 번째 방법은 인덱스 0번 원소를 기준으로 오름차순 정렬을 하고, 동일한 원소의 값이 존재하면 인덱스 1번 원소를 기준으로 또 정렬을 해주는 코드이고, 다음으로 두 번째 방법은 인덱스 0번 원소를 기준으로 오름차순 정렬하고, 이어서 인덱스 1번 원소를 기준으로 다시 오름차순 정렬을 해주는 코드이다. 결과적으로 첫 번째 방법은 정렬을 1번, 두 번째 방법은 정렬을 2번 하는 코드이다. 

 앞으로 알고리즘 문제를 풀 때는 이 차이점을 기억하고 어떻게 코드를 작성해야 할지 한 번 더 고민해야겠다.

 

 

# 2

공백 문자가 포함된 문자열에서 내림차순 정렬을 한다면 결과는 어떻게 나올까?

 

프로그래머스의 알고리즘 문제를 풀다가 위와 같은 결과를 확인했는데, 공백 문자가 포함된 문자열에서 위와 같이 내림차순 정렬을 한다면 공백 문자는 사라지게 된다.

 

 
 

 

댓글