Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- jvm이란
- 서비스 쓰레드 차이
- 플러터 설치 2022
- 안드로이드 라이선스
- 자바 다형성
- 객체
- 안드로이드 os 구조
- 안드로이드 유닛 테스트
- rxjava disposable
- rxjava hot observable
- 안드로이드 레트로핏 crud
- rxjava cold observable
- 2022 플러터 설치
- android retrofit login
- 스택 자바 코드
- 스택 큐 차이
- ANR이란
- 안드로이드 유닛테스트란
- jvm 작동 원리
- 큐 자바 코드
- 안드로이드 유닛 테스트 예시
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- Rxjava Observable
- ar vr 차이
- 클래스
- android ar 개발
- 멤버변수
- 서비스 vs 쓰레드
- 안드로이드 라이선스 종류
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 한 번만 등장한 문자 (Kotlin) 본문
728x90
반응형
문자열이 매개변수로 주어진다. 문자열에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 리턴하는 solution()을 완성하라. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 리턴한다
공책에 로직만 써보다가 풀지 못했다. 인터넷에 떠도는 풀이는 아래와 같다.
class Solution {
fun solution(s: String): String {
var answer = ""
val arr = IntArray(26)
for (i in 0..25) {
arr[i] = 0
}
for (element in s) {
arr[element.code - 97] += 1
}
for (i in 0..25) {
if (arr[i] == 1) {
answer += (i + 97).toChar()
}
}
return answer
}
}
알파벳 개수만큼 IntArray를 만들고 각 배열에 인덱스를 붙이는 것까진 알겠는데 그 다음부터는 무슨 코드인지 잘 모르겠다.
다른 사람의 풀이는 아래와 같다.
class Solution {
fun solution(s: String) = s.toSet()
.filter { uniqueChar ->
s.count { it == uniqueChar } == 1
}.sorted().joinToString("")
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 편지 (Kotlin) (0) | 2023.01.08 |
---|---|
[Algorithm] 프로그래머스 - 약수 구하기 (Kotlin) (0) | 2023.01.08 |
[Algorithm] 프로그래머스 - 인덱스 바꾸기 (Kotlin) (0) | 2023.01.08 |
[Algorithm] 프로그래머스 - 영어가 싫어요 (Kotlin) (0) | 2023.01.04 |
[Algorithm] 프로그래머스 - 대문자와 소문자 (Kotlin) (0) | 2023.01.04 |
Comments