전체 글
[Kotlin] map, hashmap 같은지 비교하기 LeetCode: Valid Anagram
문제 Given two strings s and t, return true if t is an anagram of s, and false otherwise. s와 t string의 char들이 순서만 바뀐거라면 true 아니면 false 예시 s = anagram과 t = nagaram을 넣었을때 true인 이유는, s t a 3 3 n 1 1 g 1 1 r 1 1 m 1 1 각 char들의 갯수가 똑같으면 위치만 바뀐것이기때문에 true 이번 문제에서는 s와 t를 각각 hashmap으로 만들어서 두 hashmap이 가지고있는 key값과 value값이 같으면 true를 반환하여 문제를 풀어보겠습니다. 풀이 class Solution { fun isAnagram(s: String, t: String): B..
[Kotlin] String에서 반복되지않은 char찾기 - LeetCode: First Unique Character in a String
문제 Given a string s, return the first non-repeating character in it and return its index. If it does not exist, return -1. 반복되는않은 char의 위치를 Int값으로 리턴해야합니다. 만약 반복되는 char들만있다면 -1을 리턴합니다. 반복되는않은 char이 여러개라면 가장 먼저나온 char의 위치를 리턴합니다. 예시 풀이 이문제에서는 hashmap을 활용하겠습니다. 위와같이 input값인 s의 문자하나하나 for loop로 빈 hashmap에 key value로 들어갑니다. hashmap에 key 값으로 문자들이 들어가고 value로 string에 들어있는 key 값의 문자 갯수가 들어갑니다. map의 특징으..
[Kotlin] 하단 내비게이션 개념 및 사용법 - BottomNavigationView, NavGraph, Fragment, FrameLayout - 뉴스앱 만들기 1편
이번 편에서는 NavigationView, NavGraph, Fragment, FrameLayout을 활용하여 하단에 내비게이션 뷰와 버튼 클릭 시 fragment가 바뀌는 방법을 다뤄보겠습니다. 개념 하단 내비게이션을 구현하기전 우리가 사용할 BottomNavigationView, NavGraph, Fragment, FrameLayout 역할들을 먼저 알아보겠습니다. BottomNavigationView 우리가 화면하단에 만들어줄 메뉴입니다. Activity_main에 구현후, 내비게이션에 들어갈 요소들을 menu에 넣어주겠습니다. NavGraph 우리가 화면전환이 이 루어지기 위해서 Intent를 많이 써왔지만 레이아웃이 복잡해질수록 intent만으로 레이아웃 간의 상호작용을 표현하는데 어려움이 있습..
[Kotlin] LeetCode: Move Zeroes 이해하기 쉬운 코드, 간단한 답
문제 Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array. input int array에 있는 모든 0을 뒤로 보내주어야 합니다. 예시 해설 fun moveZeroes(nums: IntArray): Unit { //unit을 리턴하기때문에 nums array의값을 바꿔주면됩니다. var i = 0 //변경할 position 값, i var k = 0 //k는 이동될 position 값 if (nums.size == ..
[삼성노트북] 줌 노트북 카메라 인식 실패 안됨 - 오류 0xA00F4244 - 0xC00D36D5
Zoom을 쓰다가 카메라 인식이 되지 않아서 장치 관리자에서 드라이버도 안보였습니다. 그래서 윈도우 카메라로 가서 오류코드를 확인해보니 오류코드 0 xA00F4244가 떳고 해결방안을 찾았습니다. 삼성 노트북에는 녹음/녹화 방지 기능(Samsung Secruity)으로 카메라를 꺼버리는 기능이있습니다. 설정을 안 하셨어도 업데이트 중 켰을 수도 있고 키보드에 자판을 잘못 누르셔서 켜질 수도 있습니다. 원인 삼성노트북일경우 대부분의 웹캠 오류는 녹음/녹화 방지 기능 때문입니다. 기능을 끄는 법 2가지가 있습니다. 먼저 녹음/녹화 방지 보호 기능 때문인지 확인해보겠습니다. 카메라를 켜보시고 오류코드가 0xA00F4244 - 0 xC00D36D5와 일치하는지 한다면, 아래 해결방법들을 시도해보시면 됩니다. 해..
[Kotlin] LeetCode: PlusOne 쉬운 풀이 해설
문제 Given a non-empty array of decimal digits representing a non-negative integer, increment one to the integer. The digits are stored such that the most significant digit is at the head of the list, and each element in the array contains a single digit. You may assume the integer does not contain any leading zero, except the number 0 itself. array안에는 음의 정수가 없고 각 array의 숫자들은 digit을 나타냅니다. 맨앞자리에는 ..
[윈도우] 작업표시줄에 날씨/뉴스피드 쉽게 삭제하는법 - 윈도우 최적화 - 익스플로어
[윈도우] 작업표시줄에 날씨/뉴스피드 쉽게 삭제하는법 - 윈도우 최적화하기 작업표시줄에 날씨/뉴스피드 삭제하는법 업데이트 이후 작업표시줄에서 날씨와 뉴스피드를 확인할수있는 위젯이 생겼습니다. 거슬리는 업데이트입니다. 지우는 방법입니다. 1. [작업표시줄]에 우클릭 2. [뉴스 및 관심사] 클릭 3. [끄기] 를 선택하시면 지우실수있습니다.
[Kotlin] 코루틴 Coroutine - async와 await, LifecycleScope과 ViewModelScope 사용법 및 사용예제- 4편
[Kotlin] 코루틴 Coroutine - async와 await, LifecycleScope과 ViewModelScope 사용법 및 사용예제- 4편 저번 포스트에서는 coroutine에서 join, repeat, cancel, withTimeout을 사용하는 법을 배웠습니다. 이번 포스트에서는 Async와 await을 활용하여 여러 작업을 동시에 하고 값을 접근하는 법을 배우도록 하겠습니다. 그리고 GlobalScope 말고도 lifeCycleScope , ViewModelScope을 이용한 예제를 다뤄보도록 하겠습니다. 이전 포스트: [Kotlin] 코루틴 Coroutine 제어하기 -Join, repeat,cancel,withTimeout - 3편 [Kotlin] 코 루틴 Coroutine 사용법..
[Kotlin] 코루틴 Coroutine 제어하기 -Join, repeat,cancel,withTimeout - 3편
[Kotlin] 코 루틴 Coroutine 사용법 및 개념 정리 -Join, repeat, Cancel,withTimeout - 3편 전 포스트에서는 runblocking을 다뤄보았는데요 join, repeat을 쓰기 위해서 runBlocking을 아셔야 하기 때문에 모르신다면 보고 오시는 것을 추천합니다. [Kotlin] 코루틴 Coroutine 사용법 - runBlocking - 2편 [Kotlin] 코루틴 Coroutine 사용법 및 개념 정리 - runBlocking - 2편 [Kotlin] 코 루틴 Coroutine 사용법 및 개념 정리 - runBlocking - 2편 runBlocking 저번 포스트에서 GlobalScope안에 썼었던 delay는 main Thread를 멈추지 않는 걸 확인..