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
- 안드로이드 유닛 테스트
- 서비스 쓰레드 차이
- 안드로이드 라이선스 종류
- 멤버변수
- rxjava hot observable
- 스택 자바 코드
- 안드로이드 유닛테스트란
- rxjava disposable
- 안드로이드 유닛 테스트 예시
- 큐 자바 코드
- Rxjava Observable
- 안드로이드 레트로핏 사용법
- 자바 다형성
- 안드로이드 라이선스
- ANR이란
- 2022 플러터 설치
- android retrofit login
- 안드로이드 레트로핏 crud
- rxjava cold observable
- 플러터 설치 2022
- 안드로이드 os 구조
- android ar 개발
- 스택 큐 차이
- jvm 작동 원리
- jvm이란
- 서비스 vs 쓰레드
- 2022 플러터 안드로이드 스튜디오
- 클래스
- 객체
- ar vr 차이
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 외계어 사전 (Kotlin) 본문
728x90
반응형
알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어진다. spell에 담긴 알파벳을 모두 한 번씩만 사용한 단어가 dic에 존재하면 1, 존재하지 않으면 2를 리턴하는 solution()을 완성하라
dic 안의 문자열들에 indexOf()를 걸면 어떻게 될 것 같아서 로직을 고민해 봤는데 결국 못 풀어서 다른 사람의 풀이를 참고했다.
class Solution {
fun solution(spell: Array<String>, dic: Array<String>): Int {
var answer = 2
for (i in dic) {
var isRight = true
for (j in spell) {
if (i.indexOf(j) == -1) {
isRight = false
break
}
}
if (isRight) {
answer = 1
break
}
}
return answer
}
}
완전탐색이라는 말이 나왔는데 이게 무슨 말인지는 잘 몰라서 공부가 필요하다.
간단하게 줄이면 아래처럼 쓸 수 있다.
class Solution {
fun solution(spell: Array<String>, dic: Array<String>) = if (dic.map { it.toList().sorted().joinToString("") }.contains(spell.sortedArray().joinToString(""))) 1 else 2
}
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 평행 (Kotlin) (0) | 2023.01.27 |
---|---|
[Algorithm] 프로그래머스 - 저주의 숫자 3 (Kotlin) (0) | 2023.01.27 |
[Algorithm] 프로그래머스 - 삼각형의 완성조건 (2) (Kotlin) (0) | 2023.01.13 |
[Algorithm] 프로그래머스 - 안전지대 (Kotlin) (0) | 2023.01.13 |
[Algorithm] 프로그래머스 - 숨어있는 숫자의 덧셈 (2) (Kotlin) (0) | 2023.01.13 |
Comments