사진찍는 개발자📸👩‍💻

[파이썬/프로그래머스] 중복된 문자 제거 본문

develop/Python

[파이썬/프로그래머스] 중복된 문자 제거

hsleeee 2023. 3. 23. 17:53
반응형
SMALL
def solution(my_string):
    return "".join(list(dict.fromkeys(my_string)))

파이썬에서 중복된 문자를 제거할 수 있는 세가지의 방법이 있다.

 

1. set

중복이 없는 특징을 활용하여 "".join(set(my_string)) 처럼 사용할 수도 있었겠지만, set은 순서를 고려하지 않기 때문에 오답이 나올 수 있다.

 

2. for문

for문과 if문을 활용해서 중복을 제거할 수 있는 방법이다.

그렇지만 한줄로 쓸 수 있는 코드를 여러줄로 쓸 필요는 없으니까..!

def solution(my_string):
    answer = []
    for v in my_string:
        if v not in answer:
            answer.append(v)
    
    return "".join(answer)

 

3. dictionary 활용

dictonary의 fromkeys(seq, value) 함수를 활용하여 답을 구했다.

seq 파라미터 값에 my_string 을 넣으면 my_string 데이터를 object 화 하여 key 값만 가져올 수 있다.

dictionary는 순서를 보장하기 때문에 처음 순서대로 중복된 항목만 제거되어 답을 구할 수 있었다.

key 값만 가져온 데이터를 list로 변경하고, 이를 ""로 join하여 문자열을 반환하였다.

반응형
LIST