분류 전체보기 179

[프로그래머스_Kotlin] 대충 만든 자판

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 휴대폰의 자판은 컴퓨터 키보드 자판과는 다르게 하나의 키에 여러 개의 문자가 할당될 수 있습니다. 키 하나에 여러 문자가 할당된 경우, 동일한 키를 연속해서 빠르게 누르면 할당된 순서대로 문자가 바뀝니다. 예를 들어, 1번 키에 "A", "B", "C" 순서대로 문자가 할당되어 있다면 1번 키를 한 번 누르면 "A", 두 번 누르면 "B", 세 번 누르면 "C"가 되는 식입니다. 같은 규칙을 적용해 아무렇게나 만든 휴대폰 자판이 있습니다. 이 휴대폰 자판은 키의 개수가 1개부터 최대 100개까지 있을 수..

프로그래머스 2024.03.08

Scope Functions (영역함수)

fun main() { //run Student().run { number = "1234" name = "run1" printInfo() //1234 run1 } val res = Student().run { number = "4567" name = "run2" "$number $name" } println(res) //4567 run2 //let // it을 거쳐서 프로퍼티를 호출할 수 있다. Student().let { it.number = "012" it.name = "let" it.printInfo() //012 let } //with // run과 유사하게 it을 거치지 않고 바로 변수를 호출할 수 있다. // 그러나 with함수의 인자로 클래스 객체를 받는다. with(Student()){ n..

Kotlin/문법 2024.03.07

TIL (03.06)

코드카타 62번,63번 복습 알게된 것 distinct : 중복원소 제거 repeat : 어떤 문자열을 주어진 횟수만큼 반복 println("A".repeat(5)) //AAAAA repeat(5){ print("B")} //BBBBB 강의 4 abstract class : 그 자체로 인스턴스화 될 수 없는 클래스이다. abstract class를 여러 클래스에서 공통으로 쓰는 프로퍼티와 메서드를 모아놓는 용도로 사용한다. 인스턴스화? 객체를 만드는 작업 init : 초기화 블록을 시작한다. 초기화 블록에는 클래스의 객체가 만들어질때 (인스턴스화 될때) 실행될 초기화 코드가 들어간다. (클래스) 상속? -공통적인 요소가 있다면 부모/자식 클래스를 구분해서 상속관계를 만들 수 있다. -생략된 final 키..

Kotlin/TIL 2024.03.06

TIL (03.05)

강의 3-5까지 들음 팀 프로젝트 이후 Kotlin 기초부터 탄탄하게 가고 싶어서 열심히 들었다. 코틀린의 기초부터 강의를 진행하였다. 정리는 내가 필요한 내용만 했다. 정리 객체지향 프로그래밍(Object Oriented Programming) 5대 키워드 [ 클래스, 추상화, 캡슐화, 상속, 다형성 ] 데이터 클래스 실드 클래스 클래스 클래스에는 정보(프로퍼티)와 행위(메소드)를 작성한다. 보통 하나의 파일은 한개의 클래스를 의미하지만, 하나의 파일안에 여러개의 클래스가 존재할 수도 있다. 특별한 클래스(data class, sealed class, object class) 생성자의 활용 - 기본 생성자, 명시적 생성자 - 명시적생성자는 주 생성자, 부 생성자로 구분 주 생성자는 클래스 헤더에 위치하..

Kotlin/TIL 2024.03.05

Android - FragmentContainerView와 BottomNavigation item으로 fragment넘기기

탐색 | Jetpack | Android Developers developer.android.com 위에 공식문서에서 버전 참고 //navigation implementation("androidx.navigation:navigation-fragment-ktx:2.7.7") implementation("androidx.navigation:navigation-ui-ktx:2.7.7") 공식문서를 통해 기본을 잡아준다. 앗 참고로 res -> navigation폴더 생성 -> nav_graph 생성까지 해준다. 이제 bottomNavigation을 생성해줘야한다. 내가 만들려는 것은 메인화면을 제외하고 fragment로 로그인화면과 홈화면 두개가 필요해서 생성해줬다. 이런식으로 두개를 만들어준 뒤 새로 생성했..

Android Studio 2024.03.05

TIL (03.04)

CodeKata [프로그래머스 - Kotlin] 문자열 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문 rlawog.tistory.com Kotlin 문법 [ find, override, 스프레드 연산자, 중위 호출, 경로 파싱하기 (substring 사용, 정규식 사용) fun main() { //elementAt()을 사용하여 collection의 특정 위치의 element를 얻는다. val numbers = listOf(1, 2, 3, 4) println(numbers.find { it % 2 == 0 }) println(numbers..

Kotlin/TIL 2024.03.04

Android - ConstraintLayout의 Chain

Chain ? 사용 가능한 공간 내 뷰들간의 분할되는 방식을 제어할 수 있는 제약조건이다. layout에서 일렬로 배치하면서 비율별로 너비나 높이를 줄 수 있다. 사용 방법 1. 먼저 chain으로 묶어주어야한다. GUI로 묶어주면 여기 있는 방식으로 chain으로 묶어줄 수 있다. 뒤에 3가지의 종류에 대한 설명 spread 일정한 간격으로 배치 spread inside 가능한 최대한 일정한 간격으로 떨어트린다. packed 모아준다. 코드로 사용하려면 맨 앞과 뒤를 parent로 맞추고 사용해야한다. app:layout_constraintHorizontal_chainStyle="(위에 설명 3가지)"

Android Studio/xml 2024.03.04

[프로그래머스 - Kotlin] 문자열 나누기

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문자열 s가 입력되었을 때 다음 규칙을 따라서 이 문자열을 여러 문자열로 분해하려고 합니다. 먼저 첫 글자를 읽습니다. 이 글자를 x라고 합시다. 이제 이 문자열을 왼쪽에서 오른쪽으로 읽어나가면서, x와 x가 아닌 다른 글자들이 나온 횟수를 각각 셉니다. 처음으로 두 횟수가 같아지는 순간 멈추고, 지금까지 읽은 문자열을 분리합니다. s에서 분리한 문자열을 빼고 남은 부분에 대해서 이 과정을 반복합니다. 남은 부분이 없다면 종료합니다. 만약 두 횟수가 다른 상태에서 더 이상 읽을 글자가 없다면, 역시 지금..

프로그래머스 2024.03.04

Firebase - Firestore Database 생성 중

문제 Firebase의 Firestore Database를 생성하려는데 문제가 발생했다. Database already exists. Please use another database_id 오잉 나 아직 아무것도 안만들었는데 ? 시도 1) 새로고침을 하니 이렇게 떠서 밑에 콘솔로 이동을 눌러서 지워버리고 다시 해보니 아 왜그래,, 앗 설마 초기 프로젝트 제작에서 google 애널리틱스 사용한다고하고 만들어서 다른 프로젝트에서 똑같이 만드니까 안되는 건가 ?! ...정답 해결 이렇게 생성했을 때 다른 프로젝트도 이렇게 만들었다면 만들때 이런 에러가 생겼던 것이다!!