kotlin 6

(Kotlin) 정수 제곱근 판별

먼저 Kotlin에서 제곱식을 구현하려면 pow라는 함수를 사용해야 하는데 이는 Kotlin의 math 라이브러리에 존재한다. 따라서 math 라이브러리를 import 한다. import kotlin.math.* class Solution { fun solution(n: Long): Long { var sqrt = sqrt(n.toDouble()) return if(sqrt % 1.0 == 0.0) { // 제곱근 판별 (sqrt + 1).pow(2.0).toLong() } else { -1L } } } [ Kotlin 함수 간단 정리 ] - pow() : 인자를 받아 제곱 연산을 수행하며 Int를 인자로 받을 수 있으나 반환 자료형은 Double이다. (sqrt + 1).pow(2.0).toLong()..

(Kotlin) 하샤드 수 구하기

[ 하샤드 수의 조건 ] - 양의 정수 x의 자릿수의 합이 정수 x로 나누어 떨어져야 함. ex) x = 18 -> 1 + 8 = 9 -> 18 / 9 = 2 로 나누어 떨어짐. 따라서 x는 하샤드 수이다. class Solution { fun solution(x: Int): Boolean { var answer = true var xStr = x.toString() var Sum = xStr.map { it.toString().toInt() }.sum() // map 함수를 사용해 x를 문자열로 변환하여 각 자릿수를 떼서 리스트에 담고 다시 정수로 // 변환하고 sum() 을 통해 정수 리스트의 합계를 계산 (정수 리스트면 반환형도 정수) return x % Sum == 0 } } [ Kotlin 메소..

(Kotlin) 프로그래머스 문제 설명의 제한 조건 의미

이 문제를 풀기 전 나는 여태까지 제한 조건이 내가 걸러내야 하는 조건인 줄 알고 코드를 짤 때 계속 제한 조건에 맞는 조건문을 작성했다. class Solution { fun solution(s: String): Int { var answer = 0 var currentNumber = 0 var currentSign = 1 if (s[0] != '0') { if (s[0] == '-') { currentSign = -1 } else if (s[0] == '+') { currentSign = 1 } else { val digit = s[0].toString().toInt() currentNumber = digit } for (i in 1 until s.length) { val digit = s[i].to..

(Kotlin) - 배열의 평균값

프로그래머스에서 코딩테스트 문제 중 배열의 평균값을 구하는 문제를 풀었는데 C나 python으로 풀었으면 금방 풀었겠지만 Kotlin 문법과 메소드 용어들을 제대로 몰라서 익숙해지는 데 시간이 좀 필요할 것 같다. 여하튼 아래의 Kotlin 배열을 사용하는 두 문제를 통해서 Kotlin 배열 사용법에 대해서 알아보자 class Solution { fun solution(num_list: IntArray): IntArray { val answer = IntArray(num_list.size) // answer 배열의 초기화를 위해 num_list.size만큼의 크기를 가진 배열 선언 if(num_list.size in 1..1000) { for(i in num_list.indices) { if(num_li..

(Kotlin) 개발 공부 3일차 - MBTI 테스트

BMI 계산기, 로또 번호 생성기에 이어서 이번에는 MBTI를 테스트하고 결과를 볼 수 있는 어플을 만들어 보자 MBTI를 검사하는 어플 특성상 질문지가 많기 때문에 페이지를 여러 개 사용할 수밖에 없는 구조인데 매 질문지마다 Activity를 생성해서 만드는 것은 번거로움이 있기 때문에 이를 해결하기 위해 'ViewPager2' 라는 라이브러리를 사용한다 [ ViewPager2 ] : 페이지가 부드럽게 넘어가는 애니메이션 효과와 액티비티를 여러 개 생성하지 않고 getItemCount() 메소드를 오버라이드하여 내가 사용할 페이지 개수를 설정할 수 있다. // ViewPagerAdapter는 FragmentStateAdapter를 상속받는다 class ViewPagerAdapter(fragmentAct..

Android 2024.02.28

(Kotlin) 개발 공부 1일차 - BMI 계산기

오늘은 Kotlin 언어를 사용하여 안드로이드 앱 개발을 위해 공부를 시작한 첫째 날이다. Java를 사용해서 작은 어플을 개발한 경험은 있지만 Kotlin을 사용해 본 건 처음이라 신세계였다 C언어를 쓰다가 Python을 만났을 때의 기분을 그대로 느꼈다. 먼저 xml 코딩을 통해 UI를 구성하고 이후에 Activity 기능 구현을 Kotlin 코딩으로 마무리한다. [ UI 구현 - XML ] [ BMI 계산기 UI - MainActivity ] => Main 화면을 구성하기 위해서 TextView, Button, EditText 사용 : TextView - 'BMI 계산기', '신장', '체중', 'cm', 'kg' : EditText - 신장과 체중을 입력하는 칸 : Button - '확인하러 가기..

Android 2024.02.27