일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- add view
- lateinit
- 코틀린 문자열
- class
- 코틀린 data class
- 프로그래머스 #탐욕법 #큰수만들기 #join #python
- isNullOrBlank
- kotlin collection
- 코틀린 컬렉션함수
- 코틀린 내부 클래스
- kakao blind
- 코틀린 람다함수
- 컬렉션함수
- Kotlin Generic
- 프로그래머스
- 해시
- collection function
- 내용의동일성
- kotlin listview
- Kotlin
- kotlin addview
- kotlin recyclerview
- 코틀린 lateinit
- 컬렉션 함수
- 코틀린 중첩클래스
- 코틀린
- 카카오 순위검색
- 객체의 동일성
- 코틀린 제너릭
- programmers # 프로그래머스 #큰수비교 #cmp_to_key()
- Today
- Total
목록전체 글 (46)
엔지니어 규의 IT 프로그래밍 다이어리
문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. phone_boo..
나의풀이 from itertools import permutations def comb(numbers): num_list = [] for i in range(1,len(numbers)+1): num = list(permutations([x for x in numbers], i)) num_list += ["".join(x) for x in num] num_list = list(map(int,num_list)) return list(set(num_list)) def determine(x): if x ==1 or x==0: return False if x ==2: return True for i in range(2,x): if x %i == 0: return False return True def soluti..
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. participant completion return ["leo", "kiki", "e..
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. numbers return [6, 10, 2] "6210" [3..

문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 나의풀이 from itertools import combinati..

RecyclerView 장점 -listView의 개선판 (ViewHolder 를 포함) -유연하다 ( LayoutManager 관리를 통해 1. Linear, 2. Grid, 3. StaggeredGrid.. 등등 을 쓸수있다.) - ListView 중에 RecyclerView 가 가장 성능이 좋기때문에 고민할 필요없이 RecyclerView를 사용하면 된다. 위 앱을 다시 RecyclerView 로 만들어보자. package com.example.recyclerview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.LayoutInflater import android.view.View..

이전 포스팅에서 addview 로 리스트뷰를 만드는 방법을 알아봤다. 복습차원에서 addview에 필요한 요소들을 정리해보자. -addView- 1. 리스트로 만들고 싶은 아이템의 리스트를준비한다. 2. 인플레이터를 준비한다. 3. 인프레이터로 아이템 하나에 해당하는 뷰를 만들어준다. 4. 위에만든 뷰를 컨테이너뷰에 붙여준다. ListView에 필요한 요소는 다음과 같다. -ListView- 1. 리스트로 만들고 싶은 아이템의 리스트를 준비한다. 2. Adapter를 이용한다. addview와 Listview 의 차이점 을 알아보자면 1. 만드는 방식이 다르다. 2. 그리는 방식이 다르다. - Addview -> 리스트의 갯수와 상관없이 한번에 다 그린다. - Listview -> 보여지는 화면 + al..

안드로이드 에서 리스트 뷰 란 유사하게 반복되는 뷰를 그리기 위한 도구이다. 리스트뷰를 그리는 방법은 실제로 여러가지 인데 addview, Listview, Recyclerview 방식이 있는데 첫번째로 addview 방식은 실제로 리스트뷰를 그리기위해서는 잘 사용되지 않으며, 두번째로 Listview 는 예전에 많이 사용되었으며, 세번째로 RecyclerView 는 최근에 가장 많이 사용되고 있고 가장 효율이 높다. Listview와 Recyclerview 는 addview 방식을 효과적으로 만든것이므로, addview 방식을 잘 알아야 Listview, Recyclerview를 잘 알 수 있다. 궁극적인 우리의 목적은 결국은 Recyclerview 를 만드는 것이나 이해를 돕기위해 Addview 방식..

상수 우리는 var, val 을 이용하여 기초적인 변수를 선언하는 방법을 알고 있다. var은 한번 할당한 객체가 있더라도, 다른 객체로 변경하여 할당할 수 있으며, val은 한번 객체를 할당시 다시 할당된 객체를 바꿀 수 없다. 하지만 여기서 주의할점은 val은 할당된 객체를 바꿀 수 없을 뿐이지 객체 내부의 속성을 변경할수 없는것은 아니다. 그런데 절대 변경이 불가능한것이 있는데 '상수' 라는 것이다. 상수는 컴파일 시점에 결정되어 절대 바꿀수 없는 값이며 선언은 const val CONST_A = 1234 처럼 val 앞에 const를 붙인다. 상수로 선언될 수 있는 값은 기본자료형만 가능하며 런타임에 생성될 수 있는 일반적인 다른 클래스의 객체들은 담을 수 없다. 상수는 클래스의 속성이나, 지역변..

컬렉션함수(1) 보다 좀더 복잡한 기능의 컬렉션 함수를 알아보자. associateBy : 객체에서 키를 따로 뽑아내서 map으로 만드는 함수이다. collection.associateBy{it.name} 예를들어 이름과 태어난해가 들어간 Person 객체가 있고, 이 객체들을 list 에 넣어놨을때, 이 list를 이름을 key 로하고 객체를 value 로 하는 Map으로 변경하려면 associateBy 에 중괄호안에 key로 사용할 이름 속성을 넣어주면 자동으로 Map으로 변환하여 반환한다. groupBy : Key 가 같은 아이템끼리 배열로 묶어 map으로 만드는 함수 collection.groupBy{it.birthYear} 특정한 값을 key로 지정하여 해당값을 가진 객체끼리 묶은 배열을 val..