전체 글 182

[프로그래머스_Kotlin] JadenCase 문자열 만들기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다..

프로그래머스 2024.03.29

TIL (03.28)

CodeKata [프로그래머스_Kotlin] 최댓값과 최솟값 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문 rlawog.tistory.com Scope funtions 사용하자!! scope function는 Kotlin에서 객체 지향 프로그래밍을 단순화하고 코드를 더 읽기 쉽게 만드는 데 사용됩니다. 다양한 scope function가 있으며, 각각의 scope function는 객체의 범위(scope) 내에서 코드를 실행하는 방법을 제공합니다. apply 수신 객체를 변경하지 않고 그대로 반환하며, 주로 객체 초기화 또는 설정할 때 사용됩니다..

Kotlin/TIL 2024.03.28

[프로그래머스_Kotlin] 최댓값과 최솟값

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 풀이 class Solution { fun solution(s: String): String { val arrS..

프로그래머스 2024.03.28

TIL (03.27)

KodeCata [프로그래머스_Kotlin] 신고 결과 받기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 신 rlawog.tistory.com 새로 알게된 내용 flatten 중첩된 컬렉션(리스트 안에 리스트, 맵 안에 리스트 등)을 평면화하여 하나의 단일 컬렉션으로 만드는 함수입니다. 즉, 중첩된 구조를 가진 컬렉션을 평평한 구조로 변경합니다. 예시코드 val exList = listOf(listOf(1, 2, 3), listOf(4, 5, 6), listOf(7, 8, 9)) val exList = nestedList.flatten() prin..

Kotlin/TIL 2024.03.27

[프로그래머스_Kotlin] 신고 결과 받기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모..

프로그래머스 2024.03.27

TIL (03.26)

CodeKata 처음보는 것들 reduce, fold 컬렉션에 있는 요소를 누적해서 더하여 반환하는 함수들이다. 내부 요소들을 모두 돌아가며 코드를 수행한다. reduce public inline fun Iterable.reduce( operation: (S, T) -> S ): S 초기 값은 컬렉션의 첫 번째 요소이고, 반환 값은 컬렉션의 자료형이 되는 것을 알 수 있다. val numbers = listOf(7, 5, 1, 5, 3) val sum = numbers.reduce { acc, i -> acc + i } println("reduce = $sum") //reduce = 21 fold public inline fun Iterable.fold( initial: R, operation: (R, ..

Kotlin/TIL 2024.03.26

Android - TabLayout 사용해서 Fragment 전환

그냥 버튼 형식으로 만들기 ScrollView로 버튼을 생성해서 만들어 주는 경우를 해봤다. 내가 봐도 비효율적이다. 적게 있으면 몰라도 Fragment가 많아진다면 하나하나 지정해서 넘겨줘야한다. 이렇게는 아무도 안쓸 것 같아서 기존 유명한 앱들을 찾아봤다. 더보기 Layout MainActivity.kt ... binding.goHome.setOnClickListener { supportFragmentManager.beginTransaction().apply { replace(R.id.fragmentContainer,HomeFragment()) commit() } } binding.goAuth.setOnClickListener { supportFragmentManager.beginTransaction..

Android Studio 2024.03.26