일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 서비스 쓰레드 차이
- rxjava hot observable
- 안드로이드 레트로핏 crud
- rxjava disposable
- 멤버변수
- 큐 자바 코드
- 2022 플러터 설치
- rxjava cold observable
- 스택 자바 코드
- android retrofit login
- jvm 작동 원리
- Rxjava Observable
- 안드로이드 유닛 테스트 예시
- ar vr 차이
- android ar 개발
- 안드로이드 유닛테스트란
- 플러터 설치 2022
- 객체
- 안드로이드 라이선스 종류
- jvm이란
- 서비스 vs 쓰레드
- 안드로이드 os 구조
- 안드로이드 레트로핏 사용법
- 안드로이드 유닛 테스트
- 2022 플러터 안드로이드 스튜디오
- 자바 다형성
- 클래스
- 스택 큐 차이
- 안드로이드 라이선스
- ANR이란
- Today
- Total
목록알고리즘 문제 풀이/프로그래머스 (212)
나만을 위한 블로그
단어가 공백 1개로 구분된 문자열 my_string이 주어질 때 my_string에 나온 단어를 앞에서부터 순서대로 담은 문자열 배열을 리턴하는 함수를 작성하라 입출력 예를 보면 알겠지만 그냥 공백 있으면 공백으로 나눠서 그대로 배열로 리턴하란 뜻이다. split()과 toTypedArray()를 쓰면 된다. class Solution { fun solution(my_string: String): Array = my_string.split(" ").toTypedArray()}
문자열 배열 strArr이 주어진다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고, 남은 문자열을 순서를 유지해서 배열로 리턴하는 함수를 완성하라 순서를 건드리지 않고 조건에 해당하는 요소들만 골라내는 filter를 쓰면 간단하게 풀 수 있다. class Solution { fun solution(strArr: Array): Array = strArr.filter { !it.contains("ad") }.toTypedArray()} 다만 filter는 조건을 만족하는 요소들로 이뤄진 새 리스트를 리턴하는, 리턴 타입이 List인 함수다.문제에서 요구하는 Array 타입을 리턴하게 하려면 toTypedArray()를 써서 배열로 변환해야 한다.
문자열 myString, pat이 주어진다. myString에서 pat이 등장하는 횟수를 리턴하는 함수를 완성하라 풀지 못해서 다른 사람들의 풀이를 참고했다. class Solution { fun solution(myString: String, pat: String): Int { var count = 0 var index = 0 while (index != -1) { index = myString.indexOf(pat, index) if (index != -1) { count++ index += 1 } } return cou..
문자열 myString, pat이 주어진다. myString의 부분 문자열 중 pat으로 끝나는 가장 긴 부분 문자열을 찾아서 리턴하는 함수를 완성하라 코틀린의 substringBeforeLast()를 쓰면 간단하게 풀 수 있다. StringBuilder도 같이 쓰면 아래와 같다. class Solution { fun solution(myString: String, pat: String): String { val sb = StringBuilder() val a = myString.substringBeforeLast(pat) sb.append(a).append(pat) return sb.toString() }} substringBeforeLas..
영소문자로 이뤄진 문자열 my_string, 영소문자 1글자로 이뤄진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 리턴하는 함수를 완성하라 my_string 안에서 alp로 받은 글자와 일치하는 모든 글자를 대문자로 바꿔야 한다.uppercase(), replace()를 사용하면 되지만 사용에 주의해야 한다. class Solution { fun solution(my_string: String, alp: String): String = my_string.replace(alp, alp.uppercase())}
문자열 myString이 주어진다. myString에서 알파벳 a가 등장하면 전부 A로 바꾸고 A가 아닌 모든 대문자 알파벳은 소문자로 바꿔서 리턴하는 함수를 완성하라 대문자는 소문자로 바꾸고, a는 A로 바꿔야 한다. 그렇다면 lowercase()와 replace()를 같이 쓰면 된다. class Solution { fun solution(myString: String): String = myString.lowercase().replace("a", "A")}
문자열 배열 strArr이 주어진다. 모든 원소가 알파벳으로만 이뤄져 있을 때, 배열에서 홀수 인덱스의 모든 문자열은 대문자로, 짝수 인덱스의 모든 문자열은 소문자로 바꿔서 리턴하는 함수를 완성하라 uppercase(), lowercase()를 사용해야 하지만 홀수, 짝수 인덱스를 구분해서 사용해야 한다.for문과 withIndex()를 같이 사용하면 간단하게 풀 수 있다. class Solution { fun solution(strArr: Array): Array { for ((i, str) in strArr.withIndex()) { if (i % 2 == 0) { strArr[i] = strArr[i].lowercase() ..
알파벳으로 이뤄진 문자열 myString이 주어진다. 모든 알파벳을 소문자로 바꿔서 리턴하는 함수를 완성하라 uppercase()의 반대 함수인 lowercase()를 쓰면 된다. class Solution { fun solution(myString: String): String = myString.lowercase()}
알파벳으로 이뤄진 문자열 myString이 주어진다. 모든 알파벳을 대문자로 바꿔서 리턴하는 함수를 완성하라 uppercase() 호출하면 끝이다. class Solution { fun solution(myString: String): String = myString.uppercase()}
알파벳으로 이뤄진 문자열 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}