관리 메뉴

솜씨좋은장씨

[BaeKJoon] 11656번: 접미사 배열 (Python) 본문

Programming/코딩 1일 1문제

[BaeKJoon] 11656번: 접미사 배열 (Python)

솜씨좋은장씨 2020. 3. 2. 16:41
728x90
반응형

1일 1문제 25일차!

오늘의 문제는 백준의 접미사 배열입니다.

오늘은 이전에 풀었던 문제를 다시 풀어보았습니다.

 

11656번: 접미사 배열

첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다.

www.acmicpc.net

이전 제출 코드

string = input()
string = list(string)
myStrings = []

while len(string) > 0:
    myStrings.append(str(string))
    string.pop(0)

myStrings = set(myStrings)
new = []

for word in myStrings:
    word = word.replace('[', '')
    word = word.replace(',', '')
    word = word.replace(']', '')
    word = word.replace(' ', '')
    word = word.replace("'", '')
    new.append(word)

result = sorted(new)

for word in result:
    print(word)

 

수정한 코드

string = input()
string = list(string)
myStrings = []

while len(string) > 0:
    myStrings.append(''.join(string))
    string.pop(0)

result = sorted(myStrings)

for word in result:
    print(word)

 

이전보다 속도도 빠르고 메모리도 적게쓰는 코드로 변경해보았습니다.

 

오늘은 이만 아르바이트를 하러!

 

SOMJANG/CODINGTEST_PRACTICE

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

github.com

 

Comments