(python)프로그래머스-문자열 잘라서 정렬하기

DongDong·2023년 7월 5일
0

알고리즘 문제풀이

목록 보기
1/20

문제-주어진 문자열에서 "x"를 기준으로 문자열을 잘라내 배열에 저장 후 사전순으로 정렬하기.

만약 "000x00000x0x0xx0" 문자열이 주어진다면
배열에 ['000','00000','0','0','0]이 저장 되어야한다.

def solution(myString):
	answer=[]
    arr=''
	for i in range(len(myString)):
    	if myString[i]=='x' and arr=='':
        	continue
        elif myString[i]=='x' and arr!='':
        	answer.append(arr)
            arr=''
        else:
        	arr+=myString[i]
    if arr!='':
    	answer.append(arr)
    answer.sort()
    return answer

주어진 문자열에서 'x'가 아닌 문자들은 arr 문자열에 더해주어
하나의 문자열을 만들어준다.

만약 'x'가 나왔을 때 arr이 빈 문자열이 아니라면 그동안 만든 문자열 arr을 정답배열 answer에 추가한다.
추가 후 새로운 문자열을 받아와야 하므로 arr은 빈 문자열로 초기화 시켜준다.

'x'가 나왔을 때 arr이 빈 문자열이면 무시하고 진행한다.

for문을 다 돌았다.
이때 arr이 빈 문자열이 아니라면 answer에 추가해주어야 할 문자열이 존재한다는 뜻이다.
마지막 문자열을 추가해주어 answer 배열을 완성시킨다.

sort()함수를 이용해 사전 순으로 정렬한다.

0개의 댓글