Kotlin/TIL

TIL 4 (01.24)

내손은개발 🐾 2024. 1. 24. 14:56

 

CodeKata

 

파이썬으로 알고리즘 풀던게 생각나서 힘들다 ㅠ 

아직 많이 풀진 않았지만 확실히 코틀린이 간결하게 코드를 작성할 수 있다는 것을 많이 느꼈다.

하지만 2차 함수 푸는 것을 우연히 보게 되었는데,,,, 2차 함수 푸는 날이 오면 파이썬 살짝 그리울거같다.

 

1. 자연수 뒤집어 배열로 만들기

class Solution {
    fun solution(n: Long): IntArray = n.toString().reversed().map { i -> i.toString().toInt() }.toIntArray()
}​

1) reversed를 사용해서 string으로 된 n을 뒤집기
2) map()을 붙여 리스트로 변환

 

2. 제곱과 제곱근(루트) 구하기

- pow() : 거듭제곱
- sqrt() : 제곱근
double만 받기때문에 toDouble()을 해준 뒤 사용한다.
(import kotlin.math.(---)  import 해야 사용가능 / 앞에 Math.를 붙이면 생략하고 사용가능 )
import kotlin.math.pow
import kotlin.math.sqrt

var x:Double = 121.0
var y:Double = 3.0

//제곱근
println("x의 제곱근 = ${sqrt(x)}")
//제곱
println("y의 제곱 = ${y.pow(2)}")​
//추가로 제곱의 합의 제곱근 구하기
import kotlin.math.hypot

println("(3제곱 + 4제곱)의 제곱근 = ${hypot(3.0, 4.0)}")
// (3제곱 + 4제곱)의 제곱근 = 5.0

 

3. sort

sortedArrayDescending()
 - 내림차순으로 정려된 새로운 배열 반환
 - 원본 배열은 그대로
sortedArray()
 - 오름차순으로 정렬된 새로운 배열 반환
 - 원본 배열은 그대로
sort()
 - 원본 배열을 오름차순으로 정렬
sortDescending()
 - 원본 배열을 내림차순으로 정렬

 

 


강의

 

Parameter / Argument 

 

 - 강의를 듣다보면 파라미터~~ , 알규먼트~~~ 하다보면 대충 알고 있지만 갑자기 정확히 넘어가고 싶어서 찾아보았다.

 

  • Parameter : 함수를 정의할 때 사용되는 변수
  • Argument : 실제로 함수가 호출될 때, 넘기는 변수 값
function plus (num1, num2) {
	return num1 + num2;
} // num1과 num2는 parameter

plus(10, 20);
// 10과 20은 argument

 

 

인수

 - argument에서 인수란 함수에 간주되는 (원시적인 또는 객체의)값 이다.

 

참고   

 

 

Inflate

사전캠프 강의 3주차를 들으면 inflate를 사용하신다. inflate ?

 - android에서 inflate는 xml에 표기된 레이아웃들을 메모리에 로딩된 후 객체화 시키는 과정이다.

 - 각기 다른 화면들을 한화면에 동적으로 띄우고 싶은 경우 사용된다.

 

 

setContentView() 함수랑 똑같은건가 ?

 - 정답은 땡. Fragment는 setContentView가 없다. 그러면 직접 객체화 시켜서 메모리에 올려야한다.

 

 

 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.fragment_second, container, false)
    }

 

 

 

Bundle

 - 여러가지 타입의 값을 저장하는 Map클래스이다.

 - 예를 들면, string 값을 Bundle 클래스에 Mapping하는 것이다.

 - 그런데 android에서는 Activity간에 데이터를 주고 받을 때 Bundle 클래스를 사용하여 데이터를 전송한다.

참고   

 

 

'Kotlin > TIL' 카테고리의 다른 글

TIL 6 (01.26)  (1) 2024.01.26
TIL 5 (01.25)  (1) 2024.01.25
TIL 3 (01.23)  (1) 2024.01.23
TIL 2 (01.22)  (0) 2024.01.22
TIL 1 (01.19)  (0) 2024.01.19