본문 바로가기

전체 글

(85)
Destructuring declarations (K번째수) 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 그 배열을 정렬하면 [2, 3, 5, 6]입니다. 정렬된 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. class Solution { fun so..
문자열 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하는 solution을 구하세요. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. (solution 1) class Solution { fun solution(strings: Array, n: Int): Array { return strings.sortedWith(compareBy({ it[n] }, { it })).toTypedArray() } } sortedWith - 주어진 배열을 오름차순으로 정렬한다. compareBy - 두 개의 비교 기준을 정의한다. { i..
readline()!!.toInt() 문법 강의를 듣고 과제를 수행하다 readline()!!.toInt() 코드에 대하여 알아보았다. 콘솔에서 한 줄을 읽어 정수로 변환해 주는 코드이다. readline() - 사용자가 입력한 값을 읽어온다. !! - 널 아님 단언(Non-null assertion) 연산자로서 해당 표현식이 절대로 null이 아니라고 컴파일러에게 알려준다. readline()이 null을 반환하면 NullPointerException이 발생한다. toInt() - 사용자가 입력한 문자열을 Int로 변환하여 반환한다.
웹뷰, 웹앱 웹뷰는 네이티브 애플리케이션 안에서 웹 콘텐츠를 표시하기 위한 컴포넌트이다. 웹뷰를 사용하면 네이티브 앱과 웹 기술을 조합하여 하이브리드 앱을 만들 수 있다. - 네이티브 앱 안에서 실행되며 네이티브 코드와 상호 작용이 가능하다. - HTML, CSS, JavaScript 등의 웹 기술을 사용하여 동적인 콘텐츠를 표시한다. 웹앱은 모바일 기기 등에서 실행되는 애플리케이션으로서 네이티브 API에 직접 접근하지 않고 웹 기술을 기반으로 동작한다. 사용자는 모바일 브라우저를 통해 해당 웹앱에 접근하여 사용할 수 있다. - 모바일 기기나 데스크톱 브라우저에서 실행되며 플랫폼 독립적이다. - 모바일 기기의 브라우저를 통해 접근하므로 설치나 업데이트가 필..
[미니 프로젝트] Binding binding = ActivityProfile3Binding.inflate(layoutInflater).apply { backButton.setOnClickListener { finish() } blogTextView.setOnClickListener { startActivity(Intent(Intent.ACTION_VIEW).apply { data = Uri.parse("https://lionbae.tistory.com") }) } setContentView(root) } ActivityProfile3Binding.inflate(layoutInflater): ActivityProfile3Binding 클래스의 인스턴스를 생성하고, 해당 인스턴스를 통해 XML 레이아웃을 인플레이트한다. layoutInf..
[미니 프로젝트] ProfileActivity class ProfileActivity3 : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_profile3) } } 위 코드는 팀 소개 앱의 액티비티 클래스인 ProfileActivity3를 정의하며, AppCompatActivity 클래스를 상속한다. AppCompatActivity는 AndroidX 라이브러리에서 제공되는 클래스이다. onCreate(savedInstanceState: Bundle?): 액티비티가 처음 생성될 때 호출된다. 액티비티 초기화 및 UI 설정이 이루어진다. super...
TIS - 안드로이드 스튜디오 사용법, 코틀린 문법 인강 듣기 - 팀 소개 프로젝트 코드의 SplashActivity와 Handler에 대하여 학습 - 코틀린 문법을 전체적으로 한번 훑었지만 계속 반복하면서 익힐 필요가 있다. - 팀 프로젝트 코드를 보면서 관련 내용을 학습하는 것이 많은 도움이 된다. - Kotlin Playground를 알게 되었는데 앞으로 코딩 연습에 잘 이용할 것 같다.
[미니 프로젝트] SplashActivity, Handler 팀 소개 앱을 만들면서 첫 화면인 SplashActivity에서 Handler를 사용하였다. 스플래시 화면은 앱이 실행될 때 가장 먼저 나타나는 화면으로서 주로 앱 초기화 작업을 수행하는 동안에 화면에 표시된다. class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash) // Handler를 사용하여 스플래시 화면을 3초 동안 표시한 후 MainActivity로 이동한다. postDelayed는 일정 시간 후에 지정된 작업을 실행할 수 있도록 해주는 메서드..