본문 바로가기
*Algorithm/Programmers_Level1

[programmers] 프로그래머스 Level1 문자열 내림차순으로 배치하기(파이썬 Python)

by codinguser 2020. 8. 30.

프로그래머스
(주)그렙

[programmers] 프로그래머스 Level1 문자열 내림차순으로 배치하기

(파이썬 Python)

 

* 문제출처 : 프로그래머스 코딩 테스트 연습, 알고리즘 문제
* 소스 코드 및 정리한 내용의 저작권은 글쓴이에게 있습니다.

 

 

 

 

 

1) 문제


 

프로그래머스 문자열 내림차순으로 배치하기

 

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

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

programmers.co.kr

 

 

 

 

2) 풀이 과정


 

 

 

1. 문자열 s를 배열로 나타내면 빠를것 같다는 생각이 들었다. 이 후 배열에서 지원하는 reverse를 이용할 거라고 생각을 하였기에 list()함수를 사용

 

2. 배열로 처리한것들을 변수.sort(reverse=True)를 이용하여 문자를 큰것부터 작은 순으로 정렬

 

3. 배열로 처리 되었기에, answer에 다시 집어 넣어주기 위해 s_list의 개수만큼 반복 실행

 

4. answer값 리턴

 

 

 

 

 

3) 코드


1
2
3
4
5
6
7
8
9
10
def solution(s):
    answer = ''
    
    s_list = list(s)
    s_list.sort(reverse = True)
    
    for i in range(len(s_list)):
        answer += s_list[i]
        
    return answer
cs

 

 

 

 

 

4) 정리 노트


 

(1)

1
2
3
4
5
6
7
8
9
= "Zbcdefg"
 
s_list = list(s)
s_list.sort(reverse = True)
 
print(s_list)
 
# @@@ < 출력 >
# ['f', 'e', 'd', 'c', 'b', 'a', 'D', 'C', 'B', 'A']
cs

 

 

(2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
answer = ''
= "Zbcdefg"
 
s_list = list(s)
s_list.sort(reverse = True)
 
for i in range(len(s_list)):
    answer += s_list[i]
    
    print(answer)
    
# @@@ < 출력 >
# g
# gf
# gfe
# gfed
# gfedc
# gfedcb
# gfedcbZ
 
cs

 

 

 

댓글