본문 바로가기

코틀린10

한국어 초성을 추출하는 유틸리티 함수 개인적으로 개발하는 프로젝트에서 특수한 요구사항을 생성했다.연락처 앱, 카카오톡 등 사용자 목록을 표현하지만, 그 목록을 알파벳 혹은 한글 초성 순으로 표현해야할 필요가 있을 때, 그것을 빠르게 스크롤 하기 위한 목적으로 우측 스크롤 바를 보여주긴 하지만, 그것을 바로 뛰어넘을 수 있도록 초성만 따로 추출하여 순서대로 보여주는 것이다.가령 '김철수', '김영희', '마동탁' 이렇게 있으면, [ㄱ, ㅁ] 목록을 따로 추출하여 순차적으로 돌려주는 것이다.이것을 만들기 위한 알고리즘과 그것을 만드는 과정에 대한 의미를 담아 포스팅 해본다. 총 3가지 단계로 이루어지며, 이것을 테스트하는 단계를 마지막 하나로 두어 기록한다. 1. 한글 문자의 초성 추출우선 한글 첫 문자만 들어왔을 때, 즉, 한글로 된 문자 .. 2026. 1. 5.
[도서 리뷰] 이것이 안드로이드다 with 코틀린(3판) > 진행에 앞서 안드로이드 개발자로 지낸지 약 13년째인듯 하다. 2009년 말부터 시작하여 다양한 업계에서 지내온지라 안드로이드라면 항상 아쉽고 더 전문성 있는 부분을 위해 노력하고 있고, 그래야 한다고 생각하고 있다. 이런 시간을 지내와서인지 개발서적 역시 많이 보았고, 그 중 안드로이드 서적은 더욱 관심있게 보아왔던 터라 이 책도 깊은 관심을 가지고 보기 시작하였다. > 첫 느낌 및 목차 이 책은 안드로이드 책을 성의껏 만들었다는 것 외에도, 주목하고 싶은 부분이 있었다. 바로 최선 버전을 대상으로 만들었다는 점이다. 모든 프로그래밍 기술이 마찬가지이지만, 특히 안드로이드는 이 기술의 발전 속도가 매우 빠르다. 차이점도 커서, 학습을 일년만 안하고 있어도 따라잡기 어려울 정도이다. 이 책은 벌써 개.. 2022. 2. 22.
[코틀린 멀티플랫폼] 첫 번째 멀티플랫폼 앱 만들기 여기에서 첫 번째 KMM 애플리케이션을 어떻게 만드는 지 배울 수 있다. 애플리케이션 프로젝트 생성하기 1. 적절한 운영체제에 필요한 툴을 설치하여 KMM 개발을 위한 환경을 설정해야 한다. (원본 링크 - kotlinlang.org/docs/mobile/setup.html 또는 정리한 포스팅 - blog.soobinpark.com/217) 이 튜토리얼의 특정 단계를 완료하기 위해서는 macOS가 설치된 Mac이 필요하다. 이곳에는 iOS 관련 코드 작성 및 iOS 애플리케이션 실행이 포함된다. 이러한 단계는 Microsoft Windows와 같은 다른 운영체제에서는 수행할 수 없기 때문이다. 이는 Apple의 요구사항 때문이다. 2. Android Studio에서, File | New | New Pro.. 2021. 4. 16.
[코틀린 멀티플랫폼] 시작/초기설정하기 코틀린 멀티플랫폼에 대해 이야기는 있었지만, 특히 모바일을 위한 코틀린 멀티플랫폼을 코틀린 공식사이트에서 본 것은 처음이었다.(내 관점에서만 처음 봤을지는 모르지만, 아티클의 포스팅 날짜는 2021년 3월 29일) Android 개발자로서 iOS 개발을 좀 더 쉽게 하고싶고, 또 다른 크로스플랫폼에 대한 관심을 표현해보고자 이 포스팅을 시작하게 되었다. KMM에 익숙해지기 KMM(Kotlin Multiplatform Mobile)으로 첫 번째 크로스 플랫폼 모바일 애플리케이션을 만들 준비를 한다. (이하 모든 Kotlin Multiplatform Mobile은 KMM으로 통일) 두 가지 길이 있다. - 하나는 IDE 마법사를 이용하여 첫 번째 KMM 애플리케이션을 만들기 - 또 다른 하나는 이미 모바일 .. 2021. 4. 15.
[CodeSignal] Add Border 이번 문제 또한 이해하기 쉬운 개념으로 이루어진 문제이다. 역시 인트로! 문제 Given a rectangular matrix of characters, add a border of asterisks(*) to it. 직사각형 문자의 매트릭스가 주어질 때, asterisk 심볼로 된 테두리를 그려라. 주어진 테스트 1 Input: picture: ["abc", "ded"] Expected Output: ["*****", ""*abc*", "*ded*", "*****"] 2 Input: picture: ["a"] Expected Output: ["***", ""*a*", "***"] 3 Input: picture: ["aa", "**", "zz"] Expected Output: ["****", ""*aa*.. 2019. 8. 17.
반응형