분류 전체보기(61)
-
[JAVA] Math 클래스의 모든 것. (수학 관련된 모든 클래스)
매일 Kotlin으로 코딩하다가 이번 주에 있을 다우기술 Cos Pro를 대비하기 위해 Java 기본 Math 클래스 정리 필수 사항 import java.lang.*; 임포트 해줘야함. 1. random() 메소드 Math.random() 메소드는 0.xxxxx 실수로 랜덤 값을 가져온다. 이를 위해 만약 0~99까지의 정수를 뽑기 위해서 Math.random()*100을 int값으로 형변환 하면 된다. 결과 2. abs() 메소드 Math.abs()메소드는 정수나 실수 수를 절대값으로 변환시킨다. 결과 3. floor(), ceil(), round() 메소드 Math.floor()메소드는 인수로 전달받은 값을 작은 정수를 반환시킨다. 결과 Math.ceil()메소드는 인수로 전달받은 값 중 가장 큰 ..
2021.11.09 -
[Algorithm] N개의 최대공약수, 최소공배수 - 유클리드 호제법, Kotlin
프로그래머스 문제를 풀다가 정리가 필요할 것 같아서 정리한다. https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중..
2021.11.05 -
[DialogFragment, Dialog] 안드로이드 DialogFragment 크기 조정하기, 테두리 둥글게 조절하기
원하는 크기로 띄우고 싶은데 자꾸 에러가 나는 상황 때문에 삽질 기록을 작성합니다.. 가끔 Dialog나 DialogFragment를 사용해 Dialog를 띄울 때 내가 원하는 크기로 띄워지지 않는다. 지금까지 그냥 어느정도 dp로 해결을 했었지만 더 자세하게 띄우기 위해 알아보았다. - 결과물 : 비율로 Dialog 띄우기 ! 1. FragmeLayout을 사용해 DP값으로 띄우는 방법 그냥 말그대로 width와 height의 크기를 dp로 지정해주고 FragmeLayout을 띄우면 된다. 하지만 각 기기별 dpi도 다다르고 내가 원하는 방법과 맞지 않았다. 2. OnStart에서 window값을 dp값으로 지정하는 방법 override fun onStart() { super.onStart() dial..
2021.10.29 -
[Kotlin] data class 정렬 하는 방법 feat. Programmers 복서 정렬하기
안녕하세요. 커스텀하여 사용하는 data class를 정렬 하는 방법에 대해서 알아보겠습니다. 관련 문제 https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차_복서 정렬하기 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 전체 코드 class Solution { fun solution(weights: IntArray, head2head: Array): ArrayList { var answer = ArrayList() var lis..
2021.09.13 -
[Kotlin] Collections Map에 대한 모든 사용법
안녕하세요. 알고리즘 문제 풀이 중 Map에 대한 Method와 속성등 까먹는게 너무 많아서 정리해둡니다. Map이란 ? Map은 다른 자료구조와는 다르게 Key와 Value를 쌍으로 데이터를 저장하는 자료구조 입니다. Key를 통해 Value에 접근할 수도 있고 Value를 통해 Key를 찾을 수도 있습니다. 또 하나의 정의된 Map에서는 Key의 중복은 불가능 하지만 Value의 중복은 가능 합니다. 1. Map 생성 var map = mapOf("안드" to 1, "로이드" to 2) // 수정할 수 없는 UnMutable print(map) map["빠끄"] = 3 var mutableMap = mutableMapOf("안드" to 1, "로이드" to 2) // 수정할 수 있는 Mutable p..
2021.08.16 -
[Android] Fragment에서 Activity의 resource에 resource까지 접근하기
안녕하세요. 개발하면서 조금 삽질 한 부분을 기록합니다. 상황 SingleActivity 패턴으로 Android 개발을 하면서 MainActivity에 Toolbar를 넣고 Fragment를 붙였다. 그리고 디자인팀이 만든 로고를 툴바에 박았다. MainFragment에서는 이 Logo를 사용하지만 다른 Fragment에서는 그냥 String 값이 들어가야했다. 그래서 또 다른 Fragment에서는 이 ImageView를 감춰줘야하는데 아무리 접근 해보려고 해도 Crash,,, 뭐가 문제일지 봤더니.. Fragment에서 Activity의 Component에 접근할 때 activity를 불러오고 toolbar를 부르고 그 안의 자식인 ImageView를 불렀어야 했다. 코드로는.. val toolbar ..
2021.05.25 -
[Kotlin] Programmers 신규 아이디 추천 - Level 1
문제 https://programmers.co.kr/learn/courses/30/lessons/72410 풀이 fun solution(new_id: String): String { var answer: String = "" answer = step1(new_id) answer = step2(answer) answer = step3(answer) answer = step4(answer) answer = step5(answer) answer = step6(answer) answer = step7(answer) println(answer) return answer } // 대문자를 소문자로 fun step1(new_id: String): String { return new_id.toLowerCase() } ..
2021.05.21 -
[Kotlin] Programmers 음양 더하기 - Level 1
문제 https://programmers.co.kr/learn/courses/30/lessons/76501 풀이 fun solution(absolutes: IntArray, signs: BooleanArray): Int { var answer: Int = 0 for(i in signs.indices) { // 배열크기를 구하고 양수이면 그냥 더하기 음수이면 -1곱하고 더하기 answer += when(signs[i]) { true -> { absolutes[i] } false -> { (absolutes[i] * -1) } } } return answer }
2021.05.21 -
[Kotlin] Programmers 로또의 최고 순위와 최저 순위 -Level1
문제 원본 : https://programmers.co.kr/learn/courses/30/lessons/77484# 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 fun solution(lottos: IntArray, win_nums: IntArray): IntArray { var sum = 0; // 0을 제외하고 당첨 번호가 몇개 있는지 var zero = 0; // 0이 몇개 있는지 for( i in lottos.indices) { if(lottos..
2021.05.21 -
[안드로이드 ROOM] MVVM패턴으로 배우는 ROOM DB(ViewModel, Repository, Koin, Coroutine)
안녕하세요. 양드로이드입니다. MVVM패턴을 적용한 Room DB 사용법에 대해 알아보겠습니다. 이 예제는 구글 코드랩에 기재된 예제입니다. developer.android.com/codelabs/android-room-with-a-view-kotlin?hl=ko#0 Android Room with a View - Kotlin | Android 개발자 | Android Developers In this codelab you’ll build an Android app in Kotlin that uses Android Architecture Components (RoomDatabase, Entity, DAO, AndroidViewModel, LiveData) together with Kotlin corout..
2021.05.11