본문 바로가기

728x90
반응형

전체 글

(67)
[Android] Android Studio Feature Drop? Android Studio의 새로운 버전을 확인하려고 홈페이지에 들어가보니 Feature Drop이라는 릴리스가 눈에 띄었다. Feature Drop이 보이기 시작한 버전은 Koala부터였다.(https://androidstudio.googleblog.com/2024/05/android-studio-koala-feature-drop.html)  Android Studio에 Live Edit 기능을 쓰면서 이번에는 어떤 새로운 기능이 추가된 것인지 궁금해서 찾아봤다.  Android Studio Feature Drop이란?Feature Drop은 Android Studio의 특정 기능이나 도구의 중요한 업데이트를 묶어서 제공하는 특별한 릴리스이다. 기존 Android Studio 업데이트와 병행해서 배포되..
[백준] 5014. 스타트링크 (자바 JAVA) 문제강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다. 스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층이다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 한다. 보통 엘리베이터에는 어떤 층으로 이동할 수 있는 버튼이 있지만, 강호가 탄 엘리베이터는 버튼이 2개밖에 없다. U버튼은 위로 U층을 가는 버튼, D버튼은 아래로 D층을 가는 버튼이다. (만약, U층 위, 또는 D층 아래에 해당하는 층이 없을 때는, 엘리베이터는 움직이지 않는다) 강호가 G층에 도착하려면, 버튼을 적어도 몇 번 눌러야 하는지 구하는 프로그램을 작..
[Jetpack Compose] LazyRow, LazyColumn에 대해서 View System에서 Jetpack Compose로 넘어오면서 눈에 띄는 것들 중 하나가 LazyRow와 LazyColumn이다. 필자는 LazyRow와 LazyColumn가 뭔지 알기 전에 두 단어가 무슨 뜻을 내포하고 있는지를 먼저 알아두는게 순서라고 생각한다.  Lazy의 의미와 특징Jetpack Compose에서 LazyRow와 LazyColumn의 "Lazy"는 데이터 항목(UI로 표현되는 데이터 단위)를 지연 생성(lazy loading)하는 방식과 관련이 있다. 이는 성능 최적화를 위해 불필요한 항목을 미리 생성하지 않고, 화면에 보여야 할 항목 만 생성하는 것을 의미한다. 즉, "항목의 지연 생성"이라고 생각하면 된다. 좀 더 자세히 살펴보면,화면에 보이는 항목만 생성되고, 스크롤 시 ..
[백준] 6603. 로또 (자바 JAVA) 문제독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지다.([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수..
[백준] 14500. 테트로미노 (자바 JAVA) 문제폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다.아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다. 테트로미노 하나를 적절히 놓아서 테트로미노가 놓인 칸에 쓰여 있는 수들의 합을 최대로 하는 프로그램을 작성하시오. 테트로미노는 반드시 한 정사각형이 정확히 하나의 칸을 포함하도록 놓아야 하며, 회전이..
[Android] 한글 종성에 따라 조사 구분하기 Toast 메시지를 띄울 때 단어에 따라 뒤에 붙는 조사가 달라져야 하는데그렇지 않은 것을 보고 어색하다는 생각이 들었고 무엇보다 사용자들이 보기에는 좋지 않을 것으로 생각했다. 그래서 필자는 직접 확장함수를 구현해보기로 했다. 한글의 조사에는 "은", "는", "이", "가",  "을", "를"이 있고,앞에 오는 단어의 마지막 글자에 종성의 유무에 따라 뒤에 붙는 조사가 달라진다.  초성, 중성, 종성 테이블실제 코드에서 한글은 유니코드로 구성되어 있고,19개의 초성, 21개의 중성, 28개의 중성의 조합으로 한글이 만들어진다. 1개의 한글자는 초성 + 중성 + 종성의 조합으로 유니코드 값이 만들어진다. 이를 수식으로 표현하면 다음과 같다.한글 = 0xAC00(처음 한글 시작값) + (초성 Index ..
Velog와는 다른 Tistory만의 장점 첫 개발 블로그로 Velog를 이용했는데Velog의 다크모드가 맘에 들었고 광고도 없어서 학습하기에 좋았기 때문이었다. 하지만 Tistory를 써보니 작성 모드, 스킨 편집, 특히 Custom Code Block Skin을 만드는 등 Velog보다 더 많은 옵션이 제공되어서 개발 블로그로는 Tistory가 좋은 것 같다는 생각이 든다. 하지만 Tistory를 보다가 Velog를 보면 Velog에 있는 내용이 더 눈에 잘 들어오는 것 같은 느낌이 들기도 한다.
[Jetpack Compose] Text Visibility 만들기 View System과 달리 Jetpack Compose에서는 컴포넌트의 visibility 속성을 제공하지 않는다.그래서 직접 구현해야 했다. 필자는 Gone 값이 필요한데, 잘 생각해보면 이는 Modifier의 size로 해보면 된다.이 아이디어를 바탕으로 Modifier의 확장함수를 다음과 같이 구현해봤다. fun Modifier.visibility(isVisible: Boolean): Modifier = if (isVisible) this else this.then(Modifier.size(0.dp)) 생각보다 요긴하게 잘 쓰고 있다. 구독과 공감(♡)은 블로그 운영에 큰 힘이 됩니다!긍정적인 댓글 남겨주시면 감사드리며,보완해야 할 점이 있으면 댓글로 남겨주셔도 좋습니다!

728x90
반응형