분류 전체보기 613

Integer 객체 비교

Integer객체 비교public class Test { public static void main(String[] args){ Integer a = new Integer(1); Integer b = new Integer(1); System.out.println(a==1); //true System.out.println(a==b); //false } } int가 아닌 Integer에서는 두 객체의 레퍼런스가 같은지를 비교한다. 위와 같은 상황 정도에서는 헷갈릴 리가 없었겠지만, List 형태에서는 처음에 발견을 못했었음. static List sumLine(List line){ for(int i=0; i

[Java] 배열 clone() 매소드 deep copy

1차원배열public class Test { public static void main(String[] args){ int[] a = {1,2,3,4,5}; int[] b = a; a[0] = 100; for(int num: b){ System.out.println(num); } } } 결과 : 100, 2, 3 int[] b = a.clone();이렇게 바꾸면 결과가 1,2,3으로 나온다.1차원 배열에서는 clone매소드를 사용하면 deep copy가 된다. 2차원배열public class Test { static int[][] map; public static void main(String[] args){ map = new int[3][3]; for(int i=1; i

Nought(7.0)미만 WifiManager 메모리 누수 문제

Android Nought(7.0)미만에서 WindowWifi사용시 메모리 누수문제 Android DocumentWifiManagerpublic class WifiManager extends Object java.lang.Object ↳android.net.wifi.WifiManager This class provides the primary API for managing all aspects of Wi-Fi connectivity.On releases before Build.VERSION_CODES.N, this object should only be obtained from an Context#getApplicationContext(), and not from any other derived cont..

Quick Sort(퀵정렬)

퀵소트public class Main { public static void main(String[] args){ int arr[] = {3,9,4,7,5,5,0,1,6,8,2}; print(arr); System.out.println(); quickSort(arr); print(arr); } public static void quickSort(int[] arr){ quickSort(arr, 0, arr.length-1); } public static void quickSort(int[] arr, int start, int end){ int part2 = partition(arr, start, end); //오른쪽 파티션의 첫번째 인덱스 //각 파티션은 적어도 2개이어야 한다(1개면 끝나서 더이상 할 필요..

자료구조 구현 2019.03.21

Listener

AccessToken이 만료되었을 때, 재요청하는 기능.Retrofit으로 요청하며 비동기이므로 리스너를 사용. BaseActivity.ktopen class BaseActivity : AppCompatActivity() { internal val apiService: ApiService by lazy { ApiService.create() } internal var disposable: Disposable? = null interface RefreshtokenListener{ fun onSuccess() fun onError() } override fun onDestroy() { disposable?.dispose() super.onDestroy() } ... open fun getStringPref(..

Intent Flag

Intentval iT = Intent(this, MainActivity::class.java) iT.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) startActivity(iT) FLAG_ACTIVITY_SINGLE_TOPiT.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)동일한 액티비티가 연속으로 쌓을 경우, 새로 Create하지 않고 기존 액티비티를 onPause(), onNewIntent(), onResume() 순서로 재활용 FLAG_ACTIVITY_CLEAR_TOPiT.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 새로 호출한 액티비티가 이미 스택에 쌓여있는 경우, 해당 액티비티를 순서로 재활용하고, 아래 있는 ..

[DFS]구슬 탈출2

백준 13460 구슬 탈출 2 (삼성 SW 역량테스트)https://www.acmicpc.net/problem/13460 졸라 어렵네..BFS로 했다가 실패하고, DFS로 갈아탐. package 구슬탈출2; import javax.swing.text.Position; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int[][] map; static int[][] visited; //빨간공의 방문지점 static int[][] visited2; //파란공의 방문지점 static int N; static int M; static Position red; static ..

IAP결제 시 onProductPurchased가 첫번째 시도에 호출되지 않을 때

Problem//특정 productId인 제품의 구매성공 시 호출 override fun onProductPurchased(productId: String, details: TransactionDetails?) { Log.d("DDD", "onProductPurchased( $productId, $details") }구매 팝업창이 뜨고, 결재를 해서 구매가 성공했음에도 애가 호출되지 않는다.한번 더 해당 product를 누르면 그제서야 함수가 호출된다. (이 때 팝업창은 뜨지 않음) Solutionoverride fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (!bp.handleActivityResult(reques..

EditText addTextChangedListener에서 에러 표시

EditText addTextChangedListener에서 에러 표시 //Meterial EditText //(https://github.com/rengwuxian/MaterialEditText/wiki) implementation 'com.rengwuxian.materialedittext:library:2.1.4'Meterial EditText라는 라이브러리 사용 class MainActivity : BaseActivity() { private val mHandler by lazy { Handler() } override fun onCreate(savedInstanceState: Bundle?) { ...핸들러 선언 editText.addTextChangedListener(object : TextWa..

Android/Kotlin 2019.03.19

[시뮬레이션] 나무 재태크

백준 16235번 나무 재태크 (삼성전자 SW 역량테스트 기출)https://www.acmicpc.net/problem/16235 package 나무재태크; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Main { static int N; //맵크기 static int M; //나무수 static int K; //년 static Ground[][] map; static int[] dy = {0, 1, 1, 1, 0, -1, -1, -1}; static int[] dx = {-1, -1, 0, 1..

직사각형 만들기

직사각형 만들기 - 3개의 점을 주고, 남은 한 점을 반환 - 직사각형은 x,y축과 평행하다. 안평행하면 복잡해짐.(CCW활용) https://www.acmicpc.net/problem/1485 import java.util.PriorityQueue; public class Solution { public static void main(String[] args){ int[][] v = { {1,1}, {2,2}, {1,2} }; int[] answer = new int[2]; PriorityQueue pq_x = new PriorityQueue(); PriorityQueue pq_y = new PriorityQueue(); //넣기 for(int i=0; i

RecyclerView Click이벤트 구현

RecyclerView Click이벤트 구현 RecyclerViewAdapterclass RecyclerViewAdapter: RecyclerView.Adapter() { //데이터를 저장할 아이템리스트 val items = ArrayList() //클릭 인터페이스 정의 interface ItemClickListener { fun onClick(view: View, position: Int) } //클릭리스너 선언 private lateinit var itemClickListner: ItemClickListener //클릭리스너 등록 매소드 fun setItemClickListener(itemClickListener: ItemClickListener) { this.itemClickListner = ite..

Android/Kotlin 2019.03.14