티스토리 뷰
내일배움캠프/Android 사전캠프
사전캠프 TIL 5일차 (음양 더하기, 핸드폰 번호 가리기, 없는 숫자 더하기, 제일 작은 수 제거하기 - Kotlin)
하몬드 2024. 4. 29. 15:22코드카타
음양 더하기
문제
정답
class Solution {
fun solution(absolutes: IntArray, signs: BooleanArray): Int {
var res: Int = 0
for(i in 0 until absolutes.size){
if(signs[i]) res += absolutes[i]
else res += absolutes[i] * -1
}
return res
}
}
for문 돌려서 해결하며 되는 문제이다.
0 until absolutes.size
배열은 0번지 부터 시작하므로 (0 ~ 배열크기 - 1)의 범위로 for문을 돌려야한다.
핸드폰 번호 가리기
문제
정답
class Solution {
fun solution(phone_number: String): String {
val hideLength = phone_number.length - 4
val hiddenPart = "*".repeat(hideLength)
return hiddenPart + phone_number.substring(phone_number.length - 4)
}
}
(전화번호길이 - 4) 만큼 *로 이루어진 문자열 hiddenPart를 선언하고
hiddenPart와 전화번호 뒷 4자리를 합친 문자열을 반환한다.
repeat
val result = "Hello".repeat(3)
println(result) //HelloHelloHello
repeat함수는 지정된 횟수만큼 문자열을 반복하여 새 문자열을 생성한다.
subString
val text = "Hello, World!"
println(text.substring(7)) // "World!"
val text = "Hello, World!"
println(text.substring(0, 5)) // "Hello"
substring(startIndex: Int) < startIndex에서 시작하여 문자열의 끝까지의 부분을 추출한다.
substring(startIndex: Int, endIndex: Int) < startIndex에서 시작하여 endIndex 전까지의 부분을 추출한다.
없는 숫자 더하기
문제
정답
class Solution {
fun solution(numbers: IntArray): Int {
return 45 - numbers.sum()
}
}
1~9까지의 수를 모두 더하면 45이다.
없는 숫자를 굳이 찾을 필요없이 (45 - numbers배열 요소의 합)을 반환하면 된다.
sum() 함수를 이용해 배열 요소들의 합을 구할 수 있다.
제일 작은 수 제거하기
문제
정답
class Solution {
fun solution(arr: IntArray): IntArray {
if (arr.size == 1) return intArrayOf(-1)
return arr.filter { it != arr.minOrNull() }.toIntArray()
}
}
minOrNull() 함수로 배열의 최솟값을 구할 수 있다.
배열의 크기가 1이면 [-1]을 반환하고 배열의 크기가 1보다 크다면
filter 함수를 이용해 배열에서 가장작은 값을 제거한 배열을 반환한다.
'내일배움캠프 > Android 사전캠프' 카테고리의 다른 글
사전캠프 TIL 7일차 (BMI 계산기 UI 구현) (1) | 2024.05.01 |
---|---|
사전캠프 TIL 6일차 (안드로이드 개발환경 세팅) (0) | 2024.04.30 |
사전캠프 TIL 4일차 (하샤드 수, 두 정수 사이의 합, 콜라츠 추측, 서울에서 김서방 찾기, 나누어 떨어지는 숫자 배열 - Kotlin) (0) | 2024.04.25 |
사전캠프 TIL 3일차 (안드로이드 확장 라이브러리 알아보기) (0) | 2024.04.24 |
사전캠프 TIL 2일차 (안드로이드 아키텍쳐 알아보기) (0) | 2024.04.23 |