관리 메뉴

솜씨좋은장씨

[Programmers] 문자열 내림차순으로 배치하기 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 문자열 내림차순으로 배치하기 (Python)

솜씨좋은장씨 2021. 4. 19. 23:38
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 문자열 내림차순으로 배치하기 입니다.

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로

programmers.co.kr

Solution

def solution(s):
    answer = ''
    
    lowercases = []
    uppercases = []
    
    for char in list(s):
        if char.isupper():
            uppercases.append(char)
        else:
            lowercases.append(char)
            
    if len(uppercases) != 0:
        uppercases = sorted(uppercases, reverse=True)
    if len(lowercases) != 0:
        lowercases = sorted(lowercases, reverse=True)
        
    answer = "".join(lowercases) + "".join(uppercases)
    
    return answer

Solution 풀이

먼저 isupper를 활용하여 입력받은 문자열에서 대문자와 소문자를 구분하여 리스트에 담아둡니다.

그 다음 각각 리스트의 길이가 0이 아닐 경우에만 내림차순으로 정렬하도록 하고

마지막으로 answer라는 문자열에 소문자 리스트, 대문자 리스트를 join해서 문자열로 만들어 붙여주면 끝입니다.

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments