본문 바로가기

전체 글126

[2023-04-04] 24723 녹색거탑 + 1문제 문제 링크: https://www.acmicpc.net/problem/24723 package fourthDay import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() var answer = 1 repeat(n){ answer *= 2 } println(answer) } //2 4 8 16 경우의 수를 4번 째까지 세보고, 규칙을 알아내 코드를 작성하였습니다. 2023. 4. 4.
[2023-04-03] 10816. 숫자 카드2(Kotlin) + 8문제 가장 티어가 높았던 문제는 실3이였지만, 저에게 좀 더 어려웠던 문제를 포스팅합니다. 문제 링크: https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 처음에 작성했던 코드입니다. package thirdDay import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val n = br.readLine().toInt() v.. 2023. 4. 3.
[2023-04-02] 19532. 수학은 비대면강의입니다 (Kotlin) + 5문제 풀었던 문제들 중 가장 티어가 높았던 브론즈 2 문제입니다. 문제 링크: https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 처음에는 평소에 쓰던 가감법을 그대로 작성하였습니다. (동류항으로 만든 후 빼기) fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) val list .. 2023. 4. 2.
[2023-04-01] 9506. 약수들의 합(Kotlin) + 2문제 부모님 일을 돕느라 바빠서 3문제 밖에 풀지 못했습니다. 하루에 여러 문제들을 풀 때, 가장 티어가 높은 한 문제만 포스팅 하는 것으로 결정했습니다. 문제 링크: https://www.acmicpc.net/problem/9506 9506번: 약수들의 합 어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라. www.acmicpc.net import java.io.* fun main(){ val br = BufferedReader(InputStreamReader(System.`in`)) fun printInCondition(n: Int){ val list = ar.. 2023. 4. 1.
목표 설정 [부스트 캠프] 3월 달 때쯤 sw마에스트로에 지원하기 위해, 처음 알고리즘 공부를 시작하였습니다. 머리가 꽃밭이라, 2주간 긍정적으로 생각하며 준비를 했었습니다. 코딩 테스트 결과는 매우 처참했고, 너무 어려워서 충격을 먹었습니다. 개발자를 진로로 두면서, 진정으로 준비해야 할 것들을 생각해두지 않고 살았던 것 같습니다. 저는 안드로이드 개발자로서 취업하는 것을 목표로 두고 있습니다. 이 분야에 대해 더욱 깊숙이 배워보고도 싶고, 사람들과 모여 여러 프로젝트도 해보고 싶고, 무엇보다 내가 옳게 공부하고 있는 것인지 확인받고 싶습니다. 최근 여러 사람들의 프로젝트를 구경해 보며, 더욱 절실해졌습니다. 그렇게 여러 정보들을 찾아보니, "부스트 캠프"라는 프로그램을 알게 되었습니다. 커리큘럼과, 수료생들이 작성했던 후기들을.. 2023. 4. 1.
[Android] #8 RxJava 개념 이해 및 문제 해결 유튜브 Url을 변환하는 라이브러리를 사용할 때, 해당 라이브러리의 문서에서는, RxJava를 통해 스트리밍 가능한 Url을 받아오는 방식을 사용했습니다. 해당 구조를 수정하기 위해서 RxJava에 대해 공부를 해보게 되었습니다. RxJava observer pattern 방식을 사용합니다. 중간중간 데이터가 변환되는 것을 stream을 통해 파악이 가능합니다. RxJava에는 간단하게 생산자와, 소비자로 나뉩니다. 생산자: 데이터를 생산하여 전달하는 역할을 합니다. 소비자: 데이터를 받아서 처리하는 역할을 합니다. 소비자를 등록하는 방식은 크게 두 가지가 있습니다. 1. Observer 방식 Observer 인터페이스를 구현한 객체를 subscribe 하여 소비자를 추가합니다. 이때 return typ.. 2023. 3. 29.
[Android] #7 RecyclerView 현재 재생 중인 아이템 색상 변경하기 대부분의 음악 앱과 같이, 재생 목록에서 현재 재생 중인 파일의 색상만 다르게 하고 싶었습니다. 초반에 생각했던 방식은, RecyclerView의 Item을 누를 때 해당 Item의 색상을 다르게 해주는 것이었습니다. class PlaylistItemsRecyclerViewAdapter(dataList: MutableList, position: Int, exoPlayer: SimpleExoPlayer): RecyclerView.Adapter() { private val dataList = dataList var currentPlayedPosition = position var lastPlayedPosition = -1 override fun onBindViewHolder(holder: MyViewHold.. 2023. 3. 28.
[Android] #6 Coroutine을 이용한 데이터 비동기 처리 음악 플레이어로 방향성을 잡았었기에, 첫 화면은 장르별 다양한 음악들을 띄우고 싶었습니다. 유튜브의 "음악"이라는 채널의 카테고리 별 플레이리스트 정보들을 Youtube Data api를 통해 받아왔습니다. ex) "한국 인기 Top100" 카테고리 정보를 받아오는 함수입니다. fun getPopularTop100MusicData(nextPageToken: String?){ val retrofit = RetrofitData.initRetrofit() retrofit.create(RetrofitService::class.java).getPlayListVideoItems(API_KEY,"snippet",PlaylistId,nextPageToken,"50") .enqueue(object : Callback {.. 2023. 3. 27.