코틀린에서 컬렉션 만들기 val set = hashSetOf(1, 7, 53) val list = arrayListOf(1, 7, 53) val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three") 코틀린은 자신만의 컬렉션 기능을 제공하지 않는다. 그 이유는 뭘까? 표준 자바 컬렉션을 활용하면 자바 코드와 상호작용하기가 훨씬 더 쉽다. 자바에서 코틀린 함수를 호출하거나 코틀린에서 자바 함수를 호출할 때 자바와 코틀린 컬렉션을 서로 변환할 필요가 없다. 하지만 코틀린에서는 자바보다 더 많은 기능을 쓸 수 있다. fun main(args: Array) { val strings = listOf("first", "second", "fourteenth")..
UI 관련 데이터를 저장하고 관리하는 역할 ViewModel의 이점 지속성 ViewModel은 ViewModel이 보유하는 상태와 ViewModel이 트리거하는 작업에서 모두 생존을 허용합니다. 캐싱을 통해 화면 회전과 같은 일반적인 구성 변경에도 데이터를 다시 가져올 필요가 없습니다. 범위 ViewModel을 인스턴스화할 때는 ViewModelStoreOwner 인터페이스를 구현하는 객체를 전달합니다. 이는 탐색 대상, 탐색 그래프, 활동, 프래그먼트 또는 인터페이스를 구현하는 다른 유형일 수 있습니다. 그러면 ViewModel의 범위가 ViewModelStoreOwner의 생명 주기로 지정됩니다. ViewModelStoreOwner가 영구적으로 사라질 때까지 메모리에 남아 있습니다. SavedStat..
코틀린은 무엇인가? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어이다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성을 중시한다. 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 작동한다. 코틀린 맛보기 // 데이터 클래스 data class Person(val name: String, val age: Int? = null) // 널이 될수 있는 타입과 파라미터 디폴트 값 // 최상의 함수 fun main(args: Array) { val person = listOf(Person("영희"), Person("철수", age = 29)) // 이름 붙인 파라미터 val oldest = person.maxOf { it.age ?: 0 } // 람다 식과 엘비스 연산자 println("..
소문자로 된 한개의 문자열이 입력되면 중복된 문자를 제거하는 알고리즘 문제 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); String answer = ""; for(int i = 0; i < str.length(); i++){ if (str.indexOf(str.charAt(i)) == i) answer+= str.charAt(i); } System.out.println(answer); } } import java.util.Scanner; public class Main { public S..
설명 A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다. 가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다. 예를 들어 N=5이면 두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 게임 횟수인 자연수 N(1
선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는 선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. import java.util.ArrayList; import java.util.Scanner; public class Main { public int solution(int n, int[] arr) { int answer = 1, max = arr[0]; for (int i = 1; i max){ max = arr[i]; answer++; } } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner sc = new Sc..