목록전체 글 (94)
밍쎄의 코딩공간
import java.util.HashMap; class Solution { public int[] solution(String[] keymap, String[] targets) { HashMap hm = new HashMap(); int[] ret = new int[targets.length]; for(String key : keymap) { for(int i=0 ; i
SQLite에 좌표값 (위도, 경도)이 저장되어있는 경우, 쿼리를 통해 현재 위치에서 일정 거리내의 위치값을 갖는 데이터를 가져오기 위한 방법. 이를 위한 공식은 다음과 같다. distance = 6371 * acos ( cos ( rad ( lat1 ) ) * cos ( rad ( lat2 ) ) * cos ( rad ( lng2 ) - rad ( lng1 ) ) + sin ( rad ( lat1 ) ) * sin ( rad ( lat2 ) ) ) acos 내부의 식을 x라고 한다면 distance = 6371 * acos(x) acos(x) = distance/6371 x = cos(distance/6371) 이다. 그리고 x식을 사용하기 위해서 cos(x-y) = cos x cos y + sin x..
소싯적에 우리는 한컴타자를 했다. ㅎㅎ 그때 광물캐기라는 코너 속 코너 게임이 있엇는디,,, 정감가드라요..~ import java.util.*; class Solution { public int solution(int[] picks, String[] minerals) { int answer = 0; int num = picks[0] + picks[1] + picks[2]; int[][] section = new int[minerals.length / 5 + 1][3]; int i, pick; for(i = 0; i 0; i++) { switch(minerals[i].charAt(0)) { case 'd': section[i / 5][0] += 1; sec..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cd7Cm1/btsrTOmlMJ3/kK4DSQhiGpaD1bcB5EajKK/img.png)
1. 문자열의 모든 문자에 대해 반복 A. 문자가 공백 문자일 경우 - 그대로 이어 붙이기 - 다음 등장하는 알파벳은 대문자 B. 공백 문자가 아닌 경우 - 대, 소문자 변환하여 이어 붙이기 - 다음 등장하는 알파벳의 대, 소문자는 현재 변환하는 문자와 반대 class Solution { public String solution(String s) { StringBuilder builder = new StringBuilder(); boolean toUpper = true; for (char c : s.toCharArray()){ if(!Character.isAlphabetic(c)){ builder.append(c); toUpper = true; }else{ if(toUpper){ builder.appen..
Transaction의 사용 JDBC 라이브러리에서 트랜잭션을 시작하고, try 코드 구문에서 결제 관련 비즈니스 로직을 수행하고, 해당 변경을 커밋하거나 롤백하고, 최종적으로 DB 커넥션을 종료하는 트랜잭션 코드를 살펴보자. 아래 코드에서는 결제금액의 저장과 결제 정보의 저장을 하나의 단위로 바라보았다. 그리고, 이를 하나의 트랜잭션으로 묶어주었다. 어느 하나의 부분에라도 에러가 발생한다면, 롤백하도록 설정되었다. 구체적으로, 결제 기능 안에서 ‘결제금액 저장’과 ‘결제정보 저장’을 하나의 단위로 보고 트랜잭션으로 묶어줌으로써 어느 한 부분에서라도 에러가 발생한다면 롤백 할 수 있도록 설정했다. 하기 JDBC Connection 트랜잭션 코드의 단점은 분명하다. 트랜잭션을 발생시켜야 하는 경우, Dat..
그래프 탐색 문제이다. 푸는 과정 속에 어려움을 겪어 밑에 분의 코드를 참고하였다. // 2차원 배열을 벗어나지 않으면서 X가 아니면 재귀 호출 이 부분을 구현하는 것이 매우 미흡하였다. import java.util.*; class Solution { static int startX; static int startY; public int[] solution(String[] park, String[] routes) { int[] answer = new int[2]; // 동서남북 이동할 좌표 map에 삽입 Map map = new HashMap(); map.put("N", new int[]{-1, 0}); map.put("E", new int[]{0, 1}); map.put("S", new int[]{1..