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
'develop > Python' 카테고리의 다른 글
[프로그래머스/파이썬] A로 B 만들기 (0) | 2023.03.28 |
---|---|
[프로그래머스/파이썬] 모스부호 (1) (1) | 2023.03.28 |
[프로그래머스/파이썬] 합성수 찾기 (0) | 2023.03.23 |
[프로그래머스/파이썬] 문자열 계산하기 (1) | 2023.03.23 |
[프로그래머스/파이썬] 숫자 찾기 (0) | 2023.03.22 |