일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- jvm 작동 원리
- rxjava disposable
- android ar 개발
- 서비스 쓰레드 차이
- 플러터 설치 2022
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛테스트란
- 안드로이드 os 구조
- 서비스 vs 쓰레드
- android retrofit login
- jvm이란
- 2022 플러터 설치
- 클래스
- 멤버변수
- 안드로이드 라이선스 종류
- 스택 자바 코드
- 큐 자바 코드
- 자바 다형성
- ar vr 차이
- 안드로이드 레트로핏 crud
- Rxjava Observable
- 안드로이드 유닛 테스트 예시
- ANR이란
- rxjava hot observable
- 스택 큐 차이
- 객체
- rxjava cold observable
- 안드로이드 라이선스
- 안드로이드 유닛 테스트
- Today
- Total
목록2024/05/18 (4)
나만을 위한 블로그

알파벳으로 이뤄진 문자열 myString, pat이 주어진다. myString의 연속된 부분 문자열 중 pat이 존재하면 1, 그렇지 않으면 0을 리턴하는 함수를 완성하라. 단, 대소문자는 구분하지 않는다 대소문자는 구분하지 않기 때문에 lowercase를 써서 전부 소문자로 바꾼 다음, contains로 문자열 포함 여부를 확인해서 1 또는 0을 리턴시키면 된다. class Solution { fun solution(myString: String, pat: String): Int = if (myString.lowercase().contains(pat.lowercase())) 1 else 0}

정수가 담긴 리스트 num_list가 주어질 때, 리스트 길이가 11 이상이면 리스트에 있는 모든 원소의 합을, 10 이하면 모든 원소의 곱을 리턴하는 함수를 완성하라 sum, reduce 함수를 조건에 맞게 쓰면 간단하게 풀 수 있다. class Solution { fun solution(num_list: IntArray): Int = if (num_list.size > 10) num_list.sum() else num_list.reduce { acc, i -> acc * i }}

앞선 2개 문제들과 마찬가지로 변환 규칙이 있다. 짝수면 반으로 나누고 홀수면 1을 빼고 반으로 나눈다.이 변환을 반복해서 모든 숫자들이 1이 될 때까지 나누기 연산을 수행한 다음 최종적으로 몇 번 나눴는지를 리턴한다. class Solution { fun solution(num_list: IntArray): Int { var totalDivisions = 0 for (num in num_list) { var current = num while (current != 1) { if (current % 2 == 0) { current /= 2 } els..

변환 규칙은 1과 유사해서 만들기 어렵지 않았지만 이후 풀지 못해서 챗지피티에 물어봤다. class Solution { fun solution(arr: IntArray): Int { var current = arr.copyOf() var next: IntArray var count = 0 while (true) { next = current.map { num -> when { num >= 50 && num % 2 == 0 -> num / 2 num num * 2 + 1 else -> num ..