분류 전체보기 613

SMS Retriever API - 1

1. 이게 뭔가?문자 받은내용 캐치하는거 원래는 permission으로 권한 얻어서 하면 됬었는데 이제는 SMS Retriever API 써서 해야한다. 2. Gradleimplementation 'com.google.android.gms:play-services:12.0.1'Google Play Service필요 필요한 것만 등록해도 된다https://developers.google.com/android/guides/setupimplementation 'com.google.android.gms:play-services-auth:12.0.1' 3. MainActivity.javapublic class MainActivity extends AppCompatActivity implements Button.O..

Hash Code 구하는 코드

SMS Retriever 할때 필요한 11자리 Hash코드를 구하는 소스 keytool~ 커맨드에 쳐서 하는게 잘 안되서 이걸로 하니까 된다.Util.java에 넣고 호출해서 사용.public class Util { public static final String TAG = Util.class.getSimpleName(); private static final String HASH_TYPE = "SHA-256"; public static final int NUM_HASHED_BYTES = 9; public static final int NUM_BASE64_CHAR = 11; /** * get App Signatures */ public static ArrayList getAppSignatures(Cont..

[다익스트라] 최단경로

백준 1753 최단경로https://www.acmicpc.net/problem/1753 52번의 제출. 계속 시간초과. 15시간만에 맞췄다. 다익스트라 개념을 잘못알고 있었음. 잘못된 코드import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Main { static ArrayList[] adj; static int[] cost; //출발점에서 해당 지점까지 가는..

[DP] 제단

백준 5626 제단https://www.acmicpc.net/problem/5626 그냥 DP로 하면 메모리가 부족하다. 그래서 Sliding Widow로 지금거 바로 이전것만 저장하면서 진행.D[0][]과 D[1][] 두개로 돌려막기한다. 홀,짝으로 구분. package 제단; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static long[][] D; //슬라이딩 윈도우 - i번째(두개로 슬라이딩) 높이가 j인 경우의 수 static final long MOD = 1000000007; pu..

[그래프] LCA2

백준 11438 LCA2https://www.acmicpc.net/problem/11438 아직 소스 개선의 여지가 많이 남아있음.package com.company; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int[][] parent; // parent[a][b] a의 2^b번째 부모 static ArrayList[] adj; //트리 static int[] depth; publ..

[정수론] 소인수분해

백준 11653 소인수분해https://www.acmicpc.net/problem/11653 1은 소인수분해하면 아무것도 없어야 한다. 1로 출력하면 틀림. for문에서 N이 계속해서 변하는 것이 특이함.package com.company; import java.util.*; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int N = sc.nextInt(); if(N==1) return; for(int i=2; i

[DFS] 단절점

백준 11266 단절점https://www.acmicpc.net/problem/11266 자신의 자손(다음) Vertex가 자신을 거치지 않고 자신의 조상(이미 거쳐왔던 곳)에 도달할 수 없으면 단절점이다.인접리스트로 바꾸면 좀 더 빨라질 것 같음.package com.company; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int V, E; static int[] order; //방문여부 static int[] cutVertex; //단절점 static int[][] ma..

String, StringBuffer, StringBuilder

String클래스는 불변 객체이기 때문에 문자열 연산이 많은 프로그래밍이 필요할 때 계속해서 인스턴스를 생성하므로 성능이 떨어지지만 조회가 많은 환경, 멀티쓰레드 환경에서 성능적으로 유리. StringBuffer클래스와 StringBuilder클래스는 문자열 연산이 자주 발생할 때 문자열이 변경가능한 객체기 때문에 성능적으로 유리. StringBuffer와 StringBuilder의 차이점은 동기화지원의 유무이고 동기화를 고려하지 않는 환경에서 StringBuilder가 성능이 더 좋고, 동기화가 필요한 멀티쓰레드 환경에서는 StringBuffer를 사용하는 것이 유리. 출처: https://jeong-pro.tistory.com/85 [기본기를 쌓는 정아마추어 코딩블로그]