프로그래머스_Lv0_한 번만 등장한 문자 _파이썬

Today Jeeho Learned·2022년 12월 19일
0

알고리즘

목록 보기
33/38
post-thumbnail

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120896

내 답안

def solution(s):
    answer = ''
    for i in s:
        if s.count(i)==1:
            answer += i
    return ''.join(sorted(answer))

풀이 정리

  • 풀이 방법이 어렵지 않았다. 주어진 문자열에서 한 요소를 찾아가면서 count()함수를 사용했을때 값이 1인 경우에 answer에 담아주었다.
  • 그리고 담긴 answer에서 사전순으로 정렬을 해줘야하는데 answer.sort()와 sorted(answer)가 헷갈렸다.
  • str형식에서는 sort()를 사용하지못하기에, sorted(answer)를 통해서 원본 리스트나 str를 변경하지하고 정렬해준다.
  • 이렇게하게되면 한문자씩 담기게 되는데 이것을 문자열로 자연스럽게 이어주기 위해서 공백을 join을 사용해준다.

s = "adfe"
s1 = s.sort() # wrong
s2 = sorted(s) # ['a','d','e','f']
s3 = ''.join(sorted(s)) # "adef"

이것을 참고하자

다른풀이

def solution(s):
    answer = "".join(sorted([ ch for ch in s if s.count(ch) == 1]))
    return answer

  • 알고리즘 자체는 같은데 표현하는 형식이 달랐다.
profile
기록해야 (살아)남는다 !

0개의 댓글