목차

프로그래밍 공부/Python

[Python] 정렬 함수에 대해서

hueco 2022. 8. 27.

목차

 

# 1

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

 

[Python] 정렬 함수에 대해서 - undefined - undefined - # 1

 

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

 

[Python] 정렬 함수에 대해서 - undefined - undefined - # 1

 

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

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

 

 

# 2

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

[Python] 정렬 함수에 대해서 - undefined - undefined - # 2

 

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

 

 
 

 

댓글