본문 바로가기
[Programmers]

[프로그래머스 Lv.0][Python] 한 번만 등장한 문자

by Sir교수 2023. 1. 20.
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

​▶문제 설명

 

▶나의 풀이

 

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

 

▶나의 풀이 방법 설명

 

드디어 한 줄로 풀어보았다.
answer = ''.join(sorted([i for i in s if s.count(i) == 1]))
--> list comprehension 활용 
--> 사전 순으로 정렬 sorted() 함수 사용
--> 리스트를 다시 문자열로 ''.join() 사용

 

※ 사용된 문법

list comprehension :

ex)

array = ['a', 'b', 'c', 'd', 'e']

output = [fruit for fruit in array if fruit != 'c']

# 1. [for fruit in array ] -> 파악.

# 2. for 앞에 있는 (fruit)가 어떤 형태로 변형, 사용 -> append

# 3. in {arr} 다음에 있는 {if 조건절}에 따라서 원소가 추가 되는지를 결정

'~~'.join(리스트):

매개변수로 들어온 [ "a", "b", "c" ,"d" ]와 같은 리스트를 ' ~~~ '에 join

"abcd" 의 문자열로 나타내주는 함수

~~~ 는 구분자 라고 하는데 '' 이면 공백이다.

728x90