def solution(s):
answer = ''
for i in s:
if s.count(i) ==1:
answer +=i
return ''.join(sorted(answer))
🤔 문제 풀이
- for i in s:
if s.count(i) ==1:
answer +=i- for문을 통해서 s의 문자열에서 한 번만 등장한 문자의 수를 셀 거예요
- 만약 s에서 i의 문자가 1과 같다면 answer에 i 값을 추가해줄게요
- return ''.join(sorted(answer))
- 그리고 추가된 i들을 정렬해준 뒤, join 함수를 써서 ''에 넣어주고 retrun 해주면 문제 해결!
실패 흔적들
1트
#1트
def solution(s):
answer = ''
s = set(s)
for i in s:
answer = ''.join(dict.fromkeys(s))
return sorted(answer)
🤔 코드 풀이
- 매개변수 s가 문자열이길래 set() 함수를 써서 하나하나 다 뜯어냈어요
- 그러고 for문으로 s를 돌려서 중복값을 join 함수로 없애려 했어요
- 그리고 answer을 정렬한 값을 리턴하려 했지만,
- 문자열로 출력이 되지 않았고, l도 중복이었는데 삭제되지 않았어요 🤔
2트
#2트
def solution(s):
answer = ''
for i in s:
if s.count(i) ==1:
answer +=i
return ''.join(sorted(answer))
🤔 코드 풀이
- 힌트를 얻고자 튜터님께 방문해서 설명을 들었어요
- set() 함수 자체가 중복을 허용하지 않고, 순서도 보장할 수 없는 특징이더라구요
- 그래서 싹 다 지우고 다시 처음부터 했어요
- 문제를 다시 계속 읽어보았는데, "한 번만"이라는 단어에 꽂혔거든요 그래서 "count를 해볼까"를 생각해서 코드 짜보았어요
- 이 접근 방식이 맞았어요! 정답이었답니당~~
- return ''.join(sorted(answer))
- 원하는 결괏값 형태로 만들려면 ''.join 함수를 써야 하구요.
- 사전 순으로 정렬해서 출력해야 하기 때문에 answer를 sorted한 값을 ''에 join 해주었어요
- 문제 해결!
'문제 풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 컨트롤 제트 (+실패 흔적들, 디테일 놓친 문제) (0) | 2025.01.03 |
---|---|
[프로그래머스] 7의 개수 (+실패 흔적들, .count()) (0) | 2025.01.02 |
[프로그래머스] 가까운 수 (+실패 흔적들), 1h 30m (0) | 2025.01.02 |
[프로그래머스] 숨어있는 숫자의 덧셈(2) (+ isdigit(), isalpha(), ''.join()), 1h (0) | 2024.12.31 |
[프로그래머스] 팩토리얼 (+실패흔적들, 1h) (1) | 2024.12.31 |