반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- programmers 배열 회전
- 춥고 더운 우리 집
- 파이썬 특정 문자 제거하기
- 프레젠테이션 레이어
- 배열의 유사도 파이썬
- 파이썬 컬렉션
- 알고리즘
- 프로그래머스 특정 문자 제거하기
- 슈츠 자막
- 리트허브 커밋
- Programmers 배열의 유사도
- leftJoin
- 개발자 취준
- 주니어개발자
- 프로그래머스 가위바위보
- BigO notation
- collection python
- 춥고더운우리집
- 공선옥
- 2-layered architecture
- 리트허브 오류
- 스프링 시스템 구조
- 프로그래머스 배열 회전시키기
- 특정문자 제거하기
- 프로그래머스 배열의 유사도 파이썬
- 가위바위보 풀이
- 리트허브 사용법
- 비지니스 레이어
- 프로그래머스
- 프로그래머스 가위바위보 풀이
Archives
- Today
- Total
기억보다 기록을
[Programmers] 한 번만 등장한 문자 (list comprehension, Collections.Counter() 사용별 답안) 본문
Algorithm/Programmers
[Programmers] 한 번만 등장한 문자 (list comprehension, Collections.Counter() 사용별 답안)
juyeong 2023. 2. 6. 07:29반응형
중복제거니까 set을 쓸까하다가, 순서가 ordered 되어야하니 패스. Collection 라이브러리의 orderDict이 중복제거 시 성능이 좋길래 무턱대고 써
from collections import OrderedDict
def solution(s):
answer= ''.join(sorted(list(OrderedDict.fromkeys(s))))
if len(answer) == 0:
return ''
else:
print(answer)
당연히 안됩니다.. 매개변수 s가 "abcabcadc" 라면 "d"를 리턴해야하는데 위의 코드는 "abcd"를 리턴한다.
그럼 어떻게 풀어야하나.
1) 리스트 컴프리헨션
2) Collections의 counter
두가지로 풀어보자.
1) list comprehension
def solution(s):
return ''.join(sorted([c for c in s if s.count(c) == 1]))
2) Collections_Counter
from collections import Counter
def solution(s):
string = []
for i,j in Counter(s).items():
if j == 1:
string.append(i)
return ''.join(sorted(string))
순회를 돌면서 문자열 i가 몇개(j) 있는지 출력
source: https://school.programmers.co.kr/learn/courses/30/lessons/120896
Conter 개념 참고:
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 진료 순서 정하기 (list comprehension , lambda 사용별 답안) (0) | 2023.02.07 |
---|---|
[Programmers] 잘라서 배열로 저장하기 (f-string, 정규표현식/ list comprehension 사용별 답안) (0) | 2023.02.06 |
[Programmers] 중복된 문자 제거 (0) | 2023.02.01 |
[Programmers] 369게임 (str.count(),lambda,filter,정규표현식 사용한 풀이) (0) | 2023.02.01 |
[Programmers] 외계행성의 나이 (0) | 2023.01.27 |