article thumbnail image
Published 2022. 3. 26. 08:47

Sort

score = [88, 95, 70, 100, 99]
score.sort() # 오름차순으로 요소를 정렬
print(score)
score.reverse() # list 역순으로 만들기
# 내림차순으로 정렬 score.sort(reverse=True)
print(score)

country = ["Korea", "japan", "CHINA", "america"]
country.sort() # 문자열 정렬 시 대문자가 더 작은것으로 평가됨
print(country)
country.sort(key = str.lower) # 대소문자 무시하려면 key 인수에 str.lower
print(country)
더보기

[70, 88, 95, 99, 100]

[100, 99, 95, 88, 70]

['CHINA', 'Korea', 'america', 'japan']

['america', 'CHINA', 'japan', 'Korea']

score = [88, 95, 70, 100, 99]
score2 = sorted(score) # 정렬된 새 리스트를 반환. 결과를 별도의 변수에 저장해야 함
print(score) # 원본은 그대로
print(score2)
더보기

[88, 95, 70, 100, 99]

[70, 88, 95, 99, 100]

 

Join

join 메서드를 호출하는 문자열 삽입 대상

s = "--"
print(s.join("RussianBlue")) # 문자열의 각 글자 사이에 “--” 문자가 삽입

route = "서울역->대전역->동대구역->부산역"
station = route.split("->")
print(" 다음은 ".join(station)) # 리스트에 대해서도 사용 가능
더보기

R--u--s--s--i--a--n--B--l--u--e

서울역 다음은 대전역 다음은 동대구역 다음은 부산역

 

 

프로그래머스 lev1 정수 내림차순으로 배치하기

 

작성 코드

def solution(n):
    answer = 0
    
    lst = []
    while n != 0:
        lst.append(n % 10)
        n //= 10
    lst.sort(reverse = True)
    
    for n in lst:
        answer = answer * 10 + n 
        
    return answer

lst → [2, 7, 3, 8, 1, 1]

내림차순 정렬: lst.sort(reverse = True) → [8, 7, 3, 2, 1, 1] 

리스트 뒤집기: lst.reverse() → [1, 1, 8, 3, 7, 2]

 

다른 풀이

def solution(n):
    ls = list(str(n))
    ls.sort(reverse = True)
    return int("".join(ls))

1. 정수를 리스트로 만들기

  • list(str(n))

2. 공백없이 리스트 요소들을 연결하고 정수로 변경

  • int("".join(ls))

 

'프로그래밍 > Python' 카테고리의 다른 글

[Python] module  (0) 2022.03.23
[Python] 문자열  (0) 2022.03.21
[Python] 2차원 리스트, zip  (0) 2022.03.20
[Python] 리스트  (0) 2022.03.19
[Python] map, input, strip, split  (0) 2022.03.18
복사했습니다!