분류 전체보기 224

[백준/파이썬] 2869 - 달팽이는 올라가고싶다

풀이 처음에는 문제 자체를 이해하지못했다.. 예제 입력 1 2 1 5 예제 출력 1 4 예제 입력 2 5 1 6 예제 출력 2 2 예제 1번 같은경우엔 2m 올라가고 1m 내려갔는데 왜 5가 아니고 4인거지? 했는데 다시 생각해보니 3일 뒤에 달팽이는 3m까지 갈거고, 낮에 2m를 가면 바로 정상에 도착하므로 총 4일이 걸리는것이다. 예제 2번은 하루에 4m를 올라가고, 다음에 5m를 올라가는 과정에서 정상에 도착하므로 총 2일이 걸리는 것이다. 따라서 (정상 m-내려가는 m)를 (올라가는 m-내려가는 m)로 나눴을때의 나머지가 0이 아니면(올라가야하는 m가 남았으므로 하루가 더 필요한 것임) 몫+1, 0이 맞으면 정상까지 도달한 것이므로 몫이 정답이 되도록 로직을 짰다. import sys A, B, ..

[Android] Rxjava / Reactive Programming 개념

Reactive Programming - reactive : 반응형 -> 비동기로 반응하여 실행 - 데이터의 흐름을 먼저 정의하고, 데이터가 변경되었을때 연관되는 수식이나 함수가 업데이트되는 방식 - ex) 엑셀에서 값을 변경했을 때 자동으로 변경된 값이 반영되는것 - 명령형 프로그래밍 : 변경이 발생했다는 통지를 받으면(pull) 그때 새로 계산함 VS 반응형 프로그래밍 : 변경된 데이터를 밀어줌(push) RxJava - 자바로 리액티브 프로그래밍을 할 수 있는 라이브러리 - 함수형 프로그래밍과 같이 사용(람다 표현식) - 콜백을 사용하지 않음!!! Reference 12bme.tistory.com/570 [RxJava] RxJava 프로그래밍(1) - 리액티브 프로그래밍 서버 다수와 통신하게 되면 ..

🤖 Android 2021.03.25

[Android/kotlin] datepickerdialog 커스텀 / 선택한 날짜의 년,월,일,요일 표시

- 캘린더를 현재 날짜 이후로만 활성화되도록 - 선택한 날짜와 요일이 뜨도록 binding.todoDatepicker.setOnClickListener { // datepickerdialog에 표시할 달력 val datepickercalendar = Calendar.getInstance() val year = datepickercalendar.get(Calendar.YEAR) val month = datepickercalendar.get(Calendar.MONTH) val day = datepickercalendar.get(Calendar.DAY_OF_MONTH) val dpd = DatePickerDialog( requireContext(), R.style.MySpinnerDatePickerStyle,..

🤖 Android 2021.03.08

[Android/kotlin] spinner 커스텀해서 사용하기

res/strings.xml - 여기에 spinner를 구성할 item을 모아놓은 string array를 정의한다. 오전 오후 1 2 3 4 5 6 7 8 9 10 11 12 00 05 10 15 20 25 30 35 40 45 50 55 custom한 spinner의 배경 drawable (layer-list로 아이템들을 겹쳐서 drawable을 만듦) spinner가 포함된 layout.xml에는 background에 커스텀한 drawable을 지정한다. (popupBackground는 spinner를 클릭해서 선택할 항목들이 popup으로 나타날때의 배경을 지정한다. edittext_design은 spinner 배경에서 회색 화살표만 뺀 부분을 지정했기 때문에, 위 캡쳐와같은 배경이 나타난다) v..

🤖 Android 2021.03.07

[Android/kotlin] DialogFragment를 이용한 커스텀 대화상자 만들기

Dialog vs Dialogfragment developer.android.com/guide/topics/ui/dialogs?hl=ko -> 대화상자를 관리하는 데 DialogFragment를 사용하면 사용자가 뒤로 버튼을 누르거나 화면을 돌리는 등과 같은 수명 주기 이벤트를 올바르게 처리할 수 있습니다. DialogFragment 클래스를 사용하면 대화상자의 UI를 더 큰 UI에 삽입할 수 있는 구성요소로 재사용할 수도 있습니다. dialogfragment는 dialog에 비해 생명주기를 활용한 프로그래밍이 가능하다는 점에서 용이하다. DialogFragment를 이용하여 커스텀 대화상자만들기 1. dialog를 커스텀할 layout 구성 - res/layout/dialogtodoadd.xml 2. ..

🤖 Android 2021.03.05

[백준] 2217 - 로프 (다시풀기)

www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 1차 풀이) 일단 예시답안 자체가 이해가 안됐다.. 그래서 검색해서 찾았을때, suri78.tistory.com/29 이 블로그 글이 가장 이해가 잘되어서 예제를 이해한 뒤 아이디어를 떠올렸다. 위 페이지에서의 로프가 버틸 수 있는 중량이 각각 rope1 : 10, rope2: 15 일때 rope1을 사용한다면 rope2도 버틸 수 있으므로 최대 20을 버틸 수 있음. rope2를 사용한다면 rope1..

[백준] 11399 - ATM

www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 1차 풀이) 오름차순으로 정렬 후에 누적합으로 구하면 될듯..? N = int(input()) times = list(map(int, input().split())) result = 0 sum = 0 times.sort() for i in times: sum+=i result+=sum print(result)

[백준] 11047 - 동전 0

www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 1차 풀이) 직관적으로 생각했을 때 4200을 1000으로 나누고 그다음 100으로 나누게 되면 4+2 = 6번이 된다. 4790은 1000으로 4번 나누고 500으로 1번 100으로 2번 50으로 1번 10으로 4번 총 12번이 된다. 그럼 5000부터는 몫이 0이 되니까 이때 멈추고 그 전까지로 반복문을 돌려서 차례대로 나누어가면서 나누어 떨어..

[Android/kotlin] okhttp & retrofit으로 json 파싱하기

OkHttp란? http를 더 간편하고 효율적으로 쓸 수 있도록 돕는 라이브러리 Retrofit이란? 안드로이드 앱에서 restful 통신을 할 수 있도록 도와주는 라이브러리 ※ restful 이란? devyul.tistory.com/entry/Network-REST-Restful-REST-API-%EC%A0%95%EB%A6%AC 참조 영화 진흥 위원회 API의 JSON 파싱하기 - Retrofit 사용 1. gradle 설정 dependencies { ... // Retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.5.0' // Json Parser implementation 'com.squareup.retrofit2:converter-gson:2..

🤖 Android 2021.01.29
반응형