문제 01 배열 정렬하기
정수 배열을 정렬해서 반환하는 solution()함수 완성하기.
제약 조건
· 정수 배열의 길이는 2 이상 10^5(10의 5제곱) 이하
· 정수 배열의 각 데이터 값은 -100,000 이상 100,000이하입니다.
입력 | 출력 |
[1,-5,2,4,3] | [-5,1,2,4,3] |
[2,1,1,3,2,5,4] | [1, 1, 2, 2, 3, 4, 5] |
[1,6,7] | [1, 6, 7] |
정렬 함수 : "리스트 변수".sort()
def solution(arr):
arr.sort()
return arr
* 주의사항
위와 같이 함수를 작성할 경우
인자로 들어온 arr 원본이 변형된다.
따라서 정렬이 완료된 별도의 새로운 리스트를 반환받으려면
list(sorted("리스트 변수"))
def solution(arr) :
result_arr = list(sorted(arr))
return result_arr
문제 02 배열 제어하기
정수 배열을 입력 받는다.
배열 중복값을 제거하고, 배열 데이터를 내림차순으로 정렬해서 반환하는 solution함수 구현하기
- 배열 중복 제거 후 반환 방법: list(set("리스트 변수"))
def solution(lst):
unique_lst = list(set(lst)) # ➊ 중복값 제거
unique_lst.sort(reverse=True) # ➋ 내림차순 정렬
return unique_lst
# TEST 코드 입니다. 주석을 풀고 실행시켜보세요
# print(solution([4, 2, 2, 1, 3, 4])) # 반환값 : [4, 3, 2, 1]
# print(solution([2, 1, 1, 3, 2, 5, 4])) # 반환값 : [5, 4, 3, 2, 1]
중복 제거 방법의 경우
Java에 비하면 가히 혁명적인 방법이다.
꼭 기억하기
list(set("리스트 변수명"))
심지어 set()함수는 해시 알고리즘으로 데이터를 저장하므로,
시간 복잡도O(N)을 보장합니다.
♬ 자료 출처 - 책
코딩 테스트 합격자 되기 - 파이썬 편
이 포스팅의 모든 내용은 해당 책의 내용을 바탕으로 하고 있습니다.
감사합니다.
'프로그래밍 이야기 > 파이썬 코딩 테스트 스터디' 카테고리의 다른 글
파이썬 코딩테스트 스터디 2주차 #5 - 문제 04 모의고사 - 수포자 (0) | 2024.06.14 |
---|---|
파이썬 코딩테스트 스터디 2주차 #4 - 문제 03 두 개 뽑아서 더하기 (0) | 2024.06.09 |
파이썬 코딩테스트 스터디 2주차 #2 - 자주 활용하는 리스트 기법 (0) | 2024.06.08 |
파이썬 코딩테스트 스터디 2주차 #1 - 배열 개념, 배열의 효율성 (0) | 2024.06.07 |
파이썬 코딩테스트 스터디 1주차 #3 - 코딩 테스트 필수 문법 - 함수 (0) | 2024.06.06 |