이직하고만다(분노)
99클럽 코테 스터디 11일차 TIL + 프로그래머스 정렬
xxo_ohii
2024. 8. 2. 10:00
728x90
- 오늘의 학습 키워드 : heap(힙)
- 문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12933(정수 내림차순)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 공부한 내용 본인의 언어로 정리하기
def solution(n):
# n이라는 정수를 받고
# 각자릿수를 큰 것 부터 작은 순으로 정렬해서 새로운 정수를 리턴하면됨
answer = 0
strN = str(n)
nList = []
for i in strN: #6번반복
nList.append(i)
#['1', '1', '8', '3', '7', '2']
nList.sort()
nList.reverse()
#['8', '7', '3', '2', '1', '1']
#for j in range(len(nList)):
answer_bf = ''.join(nList)
answer = int(answer_bf)
return answer
이렇게 짜고 다른 분이 짠 코드를 보니
내코드는 쓰레기다
def solution(n):
ls = list(str(n))
ls.sort(reverse = True)
return int("".join(ls))
저 길던 코드가 3줄만에 끝난다니ㅜㅜㅜㅜㅜㅜㅜㅜ
오늘 정기스터디에서 sort() 와 sorted()의 차이를 알아두면 좋다고 해서 찾아본 차이
- sort():
- 메서드로 리스트 객체에서만 사용 가능.
- 리스트를 제자리에서(in-place) 정렬하여 원본 리스트를 변경.
- 반환 값이 None.
- sorted():
- 함수로 모든 반복 가능한 객체에서 사용 가능.
- 원본 데이터를 변경하지 않고 정렬된 새로운 리스트를 반환.
- 반환 값이 정렬된 새로운 리스트.
추가 옵션
두 함수 모두 정렬 방식을 커스터마이즈할 수 있는 여러 옵션을 제공합니다:
- key 파라미터: 정렬 기준을 정의하는 함수.
- reverse 파라미터: True로 설정하면 내림차순으로 정렬.
이건 예시 코드
my_list = ['apple', 'banana', 'cherry']
# sort()를 사용하여 길이에 따라 정렬 (제자리 정렬)
my_list.sort(key=len)
print(my_list) # 출력: ['apple', 'banana', 'cherry']
# sorted()를 사용하여 길이에 따라 정렬 (새로운 리스트 반환)
sorted_list = sorted(my_list, key=len, reverse=True)
print(sorted_list) # 출력: ['banana', 'cherry', 'apple']
print(my_list) # 원본 리스트는 변경되지 않음: ['apple', 'banana', 'cherry']
728x90