전체 글 (55) 썸네일형 리스트형 프로그래머스 타겟넘버 class Solution { var answer = 0 fun solution(numbers: IntArray, target: Int): Int { dfs(numbers, target, 0) return answer } fun dfs(numbers: IntArray, target: Int, depth: Int) { if (depth == numbers.size) { var sum = 0 for (i in numbers.indices) { sum += numbers[i] } if (sum == target) { answer++ } return } else { dfs(numbers, target, depth + 1) numbers[depth] *= -1 dfs(numbers, target, depth + .. 프로그래머스 섬 연결하기 class Solution { fun solution(n: Int, costs: Array): Int { var answer = 0 val set = IntArray(n) for(i in 0 until set.size) { set[i] = i //부모 설정 } Arrays.sort(costs) { a, b -> a[2].compareTo(b[2]) } //간선의 비용순으로 정렬 for (i in 0 until costs.size) { if(getParent(set,costs[i][0])!=getParent(set,costs[i][1])) { //같은 부모를 가지고 있는지 체크 answer+=costs[i][2] unionParent(set, costs[i][0], costs[i][1]) } } retur.. ArrayList와 LinkedList의 차이 ArraList는 배열을 이용하여 구현된다. 그러므로 add를 할 경우에는 배열에 마지막에 추가하기 때문에 실행 횟수는 1이다. 반대로 맨앞에 추가 하기위해서는 기존 배열을 차례대로 하나씩 밀어야 함으로 n이다. 제거의 경우도 끝에는 배열의 마지막만 제거하면 됨으로 실행 횟수가 1이고 맨 앞은 n이다. LinkedList는 다음 객체를 참하는 방법으로 구현된다. 이경우 배열을 사용하는 ArrayList와는 다르게 첫번째에 node를 추가할 경우 맨앞에 head 부분만 수정 하면 되기 때문에 실행 횟수가 1이고 마지막에 추가하기 위해서는 서로 연결된 node들의 탐색을 통해 마지막 node를 찾아서 새로 생성하는 객체를 참조해야 함으로 n이다. 리사이클러뷰 아이템 하나씩 넘기기 (viewpager같이) val snapHelper = PagerSnapHelper() snapHelper.attachToRecyclerView(binding.testRecylcerView); //리사이클러뷰 PagerSnapHelper 이용하면 가능하다. 여기에 다른 아이템의 일부분을 확인 하기 위해서는 xml에서 리사이클러 뷰에 android:clipToPadding="false" android:paddingStart="30dp" android:paddingEnd="30dp" 값을 입력하고 아이템 xml에는 android:layout_marginEnd="6dp" android:layout_marginStart="6dp" app:cardElevation="3dp" 같은 값들을 입력하면 된다 단 여기서 주의할 점은 마진값이 pa.. 개인정보 처리 방침 개인정보 처리 방침"달력 어플 일끝은 개인정보보호법에 따라 이용자의 개인정보 보호 및 권익을 보호하고 개인정보와 관련한 이용자의 고충을 원활하게 처리할 수 있도록 다음과 같은 처리방침을 두고 있습니다.1. 개인정보의 처리 목적 - 광고ID(AdID) 수집 목적Google은 사용자에게 더 많은 선택권을 제공하기 위해 광고 및 분석 작업에 사용할 수 있는 재설정 가능한 식별자인 앱용 광고 ID를 도입했습니다. 이 식별자는 여러 용도가 있지만 대표적으로 게재할 광고를 맞춤설정하고 앱 사용 방식을 파악하는데 유용합니다. 예를 들어 광고를 게재한 뒤에 마케팅 측에서 문맥광고, 게재빈도 설정, 전환 추적, 보고 및 보안, 사기 감지 작업을 수행할 수 있습니다.자세히 : https://support.google.co.. Rx flatmap, map 차이점 예제 우선 map부터 보겠다. val data = arrayOf("100", "300") val a :Observable = Observable.fromArray(*data).map { value -> value.toInt() }.map { value -> if (value > 200) { return@map 3000 } else { return@map 1000 } } a.subscribe{data -> System.out.println(data+1)} map은 하나의 데이터를 가공하는 것을 말한다.우선 data의 "100"을 map을 통해 인트로 형변환 한다.또 한번 map을 통해 200보다 작으면 1000 크면 3000을 리턴한다.subscribe를 통해 가공한 값들을 구독한다. Observable.fro.. retroift @query , @path 주소(url) example 예를들어 http://leesmemo.tistory.com/admin/entry/post/?id=2 식의 url이 있다고 치면 url = "http://leesmemo.tistory.com/" (kotlin으로 작성)@GET("{admin}/{entry}/{post}")Call getInfo(@Path("admin") String andmin, @Path("entry") String entryee, @Path("post") String post, @Query("id") String id); 사실 admin이나 entry, post는 바뀔 필요가 없지만.. 예제 이므로 위와 같이 path를 사용해 주었다.path의 admin에 "a"를 주고 entry에 "b", post에 "c", "id"에 6을 준다면h.. 이전 1 ··· 4 5 6 7 다음