오늘은 할 것 오늘은 간단하게 알고리즘 문제에 대해서 풀어보려고한다. 정수 내림차순으로 배치하기 문제는 주어진 정수를 내림 차순으로 바꿔서 Long타입으로 반환 해주면된다. 아래 문제 사진을 보자 일단 생각해보자 어떻게 하면 저 문제를 풀 수 있을까? 일단 생각 해야될 것은 반환 타입이 Long이라는 것이다. 하지만 내가 아는 선에서는 Long타입을 저렇게 그냥 바꿔주는 것은 없었던걸루 안다. (있으면 댓글 좀..주세용.... 좋은건 같이써야지!!) 그렇다면 중간에 어떤 과정을 거쳐서 만들고 나중에 Long타입으로 타입변화을 하는게 맞다고 생각했다.(저 중간이라는 것이 핵심이다.) 그래서 저 중간에 어떤 과정을 거치는게 맞을까라고 여러 생각을 해봤다. 가장 단순하게는 해당 Long 값을 하나씩 잘라서 f..
오늘 알아 볼것 저번 코루틴 포스트에 이어서 포스트하려고 한다. Coroutine 구조 코루틴은 크게 Coroutine Scope, Coroutine Context, Coroutinew Builder 이렇게 3가지로 나눌 수 있다. Coroutine Scope 코루틴의 동작하는 범위를 규정하고 스코프 내에서 실행되는 코루틴의 실행을 감시하거나 취소할 수 있다. Coroutine Scope: 인터페이스로 정의되며 특정한 dispatcher를 지정하여 동작이 실행될 스코프를 제한한다. Global Scope : Coroutine Scope의 한 종류로, 안드로이드에서 어플리케이션 라이프사이클을 따르며, 싱글톤으로 최상위 레벨에서 코루틴을 시작하기 때문에 필요할 때 만들어 쓰고 버리고 할 수 없다. 일반적으로..
오늘 알아 볼 것!! 오늘은 간단히 코루틴에 대해서 알아보려고 한다. 이번 포스트와 Rxjava 포스트는 안드로이드의 비동기가 필요할 때 많이 쓴다. 금일 글쓴이의 상태가 메롱이라 조금 오타가 있다면...이해주길 바란다. 예비군 너무 힘들다...ㅇㅅㅇ;; 코루틴?? 그게 뭔뎅? 코루틴은 현재 프로그래밍 언어에 구현되어 있으며 코틀린만의 고유한 개념은 아니라고 한다. 프로그래밍에서 루틴이란 프로그램의 흐름을 추상적으로 일컫는 말로, 크게 메인루틴과 서브루틴으로 나눌 수 있는데 예를 들어 메인함수에 의해 수행되는 프로그램의 흐름을 메인루틴이라고 하면 main함수 안에서 실행되는 개별 함수들에 의해 수행되는 흐름을 서브루틴이라 비유할 수 있다. 즉 루틴의 한 종류인 함수는 호출을 함으로써 그 내부에 진입하여 ..
오늘 할것 오늘은 간단히 알고지즘 문제를 풀어보려고한다. 오늘 풀어볼 문제 금일 풀어볼 문제는 문자열을 정수로 바꾸기라는 프로그래머스에 있는 매우 간단한 문제이다. 아래 사진은 문제이다. 아래 코드는 코틀린의 정답 코드이다. class Solution { fun solution(s: String): Int { val answer = s.toInt() return answer } }여기서 말하는 toInt()는 형변환이다. 그렇다 말 그대로 String 타입을 모양 그대로 Int 으로 바꿔준다는 것이다. 여기서 조금 더 진도를 나아가 보자 우리는 코틀린을 공부하기 때문에 Char 타입을 모양 그대로 Int으로 바꾸기 위해서 toInt()를 쓰면 과연 정상 작동할까? 정답은 일단 작동은 하지만 다른 값이 나..
오늘 다루어볼 것 오늘은 간단히 코틀린의 for문 사용 예제에 다루어 보려고 한다. 해당 포스트를 쓰게 된 이유는 java의 포문에 익숙하다 보니 의외로 가끔씩 헷갈리는 경우가 있어 정리하고자 한다. (개인 적으로 나중에 보기 위해서) for문 종류별 쓰는 방법 [ for + until ] for(i in 0 until 10){ //return -> 0 1 2 3 4 5 6 7 8 9 } for(i in 0 until 10 step 2){ //return -> 0 2 4 6 8 } until 을 활용한 예제로 가장 java의 for문과 비슷며, 마지막 인덱스 전 값까지만 나온다. step을 추가하면 보이는 것과 같이 step 뒤에 값 만큼 건너뛰면서 나오게 한다. (즉 0 부터 10 전까지 반복된다.) ..
오늘 알아볼 것? 오늘 알아 볼려고 하는 것은 바로 안드로이드에서 날짜를 데이터를 알아 볼 수 있는 Calendar 클래스에 대해서 알아보려고 한다. 저번에 말했듯이 Calendar 클래스를 잘 이용하면 달력을 만들 수 있다. (현재 시도 중 ㅇㅅㅇ;) Calendar 클래스란? Calendar 클래스는 안드로이드에서 날짜 및 시간 정보를 다루는데 사용되는 클래스로, 이 클래스는 시간을 계산하고 조작하기 위한 다양한 메서드를 제공하며, 날짜와 시간을 효율적으로 다룰 수 있도록 도와준다.(대신 처음에는 쥰내 다루기 힘들다. 도와준다고만 했지 쉽다고는 안했다가 이런건가?...) 일단 그럼 많이 사용하는 3개의 메소드를 알아보자 getInstance() 기본적으로 Calendar클래스의 인스턴스를 가져오는 메..
#오늘은? 금일은 Calendar를 개발하는 도중이기 때문에 간단히 해당 Calendar에서 사용하는 RecyclerView에 대해서 예제를 사용하면서 간단히 RecyclerView가 무엇인지 알아보자 추후에 Calendar 개발 하면 해당 Calendar에 대해서 포스트하겠당 현재..열심히 공부하면서 개발중...ㅠㅠ(답이 안나온다..ㅇㅅㅇ;) RecyclerView 프로젝트 이름: RecyclerViewExample 안드로이드의 RecyclerView는 여러 리스트를 묶어서 뷰탄에 보여주는 역할을 합니다. [정의] 사용자가 관리하는 많은 수의 데이터 집합을 개별 아이템 단위로 구성하여 화면에 출력하는 뷰그룹을 말합니다. [구성요소] Adapter: 아이템 뷰들을 생성하고 보여줄 뷰단에 연결하는 역할 L..
오늘의 알아볼것! 오늘은 의존성 주입을 도와주는 hilt에 대해서 알아보려고 한다. 그러기 위해서는 간단히 의존성 주입부터 천천히 알아 보자! DI (?ㅅ?) 다들 "DI"라는 말은 안드로이드 개발자라면 귀가 뚫어 지게 들어봤을 것이다. 사실 개발자라면 본인도 모르는세 쓰고 있을 것이다. 그럼 이 "DI"뭔지 간단히 알아보자 DI 는 Dependency Injection 의 약자로 말 그대로 의존성 주입 을 말한다. 의존성이란 말은 함수에 필요한 클래스, 참조변수, 객체에 의존한다는 것을 말한다. 간단히 말하자면 A클래스를 만들기 위해서 B클래스가 필요한 경우 B클래스는 A클래스의 의존 대상이 되는 것이다. 즉 자동차를 만들때 타이어가 필요한 것을 볼 수 있다. 이런 경우 자동차를 만드는 회사는 타이어를..
오늘 알아볼것! 금일 알아 볼 것은 Task에 대한 것이다. 원래 Intent에 대해서 알아볼 때 포스트하려고 했는데 조금 빠르게 포스트하게 되었다. Task란? 무엇인가? Task는 어플리케이션에서 실행되는 Activity를 보관하고 관리는 Stack 형태의 연속된 Activity로 이루어진 것을 말한다. 즉 간단히 말해서 Activity를 순서대로 쌓아 올린 탑 같은 걔념이다. 특징 선입후출(FILO)의 형태로 나중에 쌓인 액티비티일수록 가장 먼저 사용된다. 서로 다른 어플리케이션 간의 이동에도 Task를 이용해 사용자 경험를 유지시켜 준다. 최조적재 액티비티는 Root Activity라고 하며, 어플리케이션 런처로부터 시작된다. 마지막으로 적재되는 Activity는 Top Activity라고 하며 ..