코딩테스트

프로그래머스 - 중복된 문자 제거

sogummi 2023. 4. 3. 13:19
#문제 설명
문자열 my_string이 매개변수로 주어집니다. 
my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 
solution 함수를 완성해주세요.

#제한사항
1 ≤ my_string ≤ 110

my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
대문자와 소문자를 구분합니다.
공백(" ")도 하나의 문자로 구분합니다.
중복된 문자 중 가장 앞에 있는 문자를 남깁니다.

입출력 예
my_string	result
"people"	"peol"
"We are the world"	"We arthwold"

1번 예시 - 리스트 사용

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


print(solution("people"))

2번 예시 - 문자열 사용

def solution(s):
    lst = list(s)
    answer = ""
    for i in lst:
        if i not in answer:
            answer += i
    return answer


print(solution("people"))  # 출력: people

문자열 (str)은 수정이 불가능한(immutable) 자료형 -> append()와 같은 메소드 사용 불가
list는 수정 가능(mutable) 자료형 -> append() 사용하여 요소 추가 가능