일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- bfs 미로탐색 java
- js 자동완성
- 최대공약수 예제
- 홈택스 해외주식 양도세
- 한국투자증권 양도세 신고
- oracle group by
- 재귀함수 예제
- 테스트 자동화
- 톰캣 실시간 로그
- katalon
- 해외주식 양도세 신고
- javascript 자동완성
- Katalon Recorder 사용법
- 재귀 예제
- 피보나치함수
- 국세청 해외주식 양도세 신고방식
- git 연동
- recursion example
- CSTS 폭포수 모델
- katalon 사용법
- java.sql.SQLSyntaxErrorException
- katalon 비교
- 한국투자증권 해외주식 양도세
- 피보나치 예제
- katalon xpath
- tomcat log
- 주식 양도세 신고방법
- 피보나치함수 예제
- katalon 자동화
- 해외증권 양도세 한국투자증권
- Today
- Total
목록알고리즘 (87)
엄지월드
문제 방법 배열에 값을 모두 넣어 놓고, 어떻게 하면 주어진 i,j에서부터 x,y까지 모두 더할 수 있을지 고민하였다. 헷갈리지 않게 fromX, toX 이런식으로 명칭을 바꿔서 진행하였다. for문을 통해서 시작점부터 종료점까지 순회하면 될 것 이라는 생각이 들었고, 그러면 어떻게 for문을 구성할지 머리를 굴린 후 구현하였다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.S..
문제 방법 입력 받은 값을 List에 모두 넣고, sort를 진행한다. 그리고 나서 K번째 값을 출력해준다. 단, K의 시작하는 기준이 0과 1로 다르므로 -1을 해준다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; // 11004 public class Main { /* 5 2 4 1 2 3 5 */ public static void main(String[] args) thr..
문제 방법 Collections.sort를 이용해서 정렬을 진행하였다. 정렬을 진행할 시 조건을 정해주기 위해 implements Comparable을 활용하였다. Comparable의 조건은 y가 같을 때에 원래 x 값이 비교하려는 x값과 작을 수록 앞에 위치하도록 하였다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.StringTokenizer; // 11651 public class Main { pub..
문제 방법 set을 통해서 넣고, 빼고를 반복하였다. 내림차순 정렬은 Collections.reversOrder을 활용하였다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.StringTokenizer; // 7785 public class test { public static void main(String[] args) t..
반례 11 10 -> 10이 나와야 함 i = 2 cnt = 1 K = 10 idx = 2 n = 1 i = 4 cnt = 2 K = 10 idx = 2 n = 2 i = 6 cnt = 3 K = 10 idx = 2 n = 3 i = 8 cnt = 4 K = 10 idx = 2 n = 4 i = 10 cnt = 5 K = 10 idx = 2 n = 5 i = 3 cnt = 6 K = 10 idx = 3 n = 1 i = 9 cnt = 7 K = 10 idx = 3 n = 3 i = 5 cnt = 8 K = 10 idx = 5 n = 1 i = 7 cnt = 9 K = 10 idx = 7 n = 1 i = 11 cnt = 10 K = 10 idx = 11 n = 1 코드 package Baekjoon; i..
SELECT에서 무슨 컬럼이 나올지 정하기 NAME, count(*) as COUNT WHERE에서 NAME IS NOT NULL을 통해 NULL 데이터 제거 GROUP BY NAME으로 동일한 이름 묶기 HAVING COUNT에서 count 1 초과인 값들만 가져오기 SELECT NAME, count(*) as COUNT FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME having count(*) > 1 ORDER BY NAME ASC
- SELECT에서 to_char을 이용해서 시간 포맷 정하기 - WHERE에서 특정 시간대만 나오도록 지정하기, HH24MI와 시간을 입력하여 비교( 1959 >= to_char(DATETIME, 'HH24MI') ) - GROUP BY를 통해서 같은 DATETIME을 묶기 - ORDER BY를 통해서 오름차순 정렬 SELECT to_char(DATETIME,'HH24') AS HOUR, count(*) FROM ANIMAL_OUTS WHERE 0900 = to_char(DATETIME, 'HH24MI') GROUP BY to_char(DATETIME,'HH24') ORDER BY HOUR ASC
문제 접근 - 복잡해보이지만, 실질적으로는 0으로 split해서 나누었을 때에 나눠지는 숫자들이 몇개 있는지 출력하는 문제이다. 헷갈렸던 점 - 1번 문제에서 시간초과가 나서 보니깐, 소수를 구할 때 소수 m만큼 돌 필요 없이, m의 거듭제곱근까지만 돌면 된다고 한다. 그래서 Math.sqrt(m)까지만 돌아주었더니 해결되었다. - 그리고 for(int i=3; i
헷갈렸던 점 - 정확성은 맞는데, 효율성에서 시간 초과가 나서 로직 변경이 필요함 - rotate나 shiftRow가 연속으로 있을 때에 +n번을 처리해주면 될 것 같은데, 로직 구현이 까다로워보인다. package Programmers; public class PGM_118670 { public static void main(String[] args) { int[][] rc = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; String[] operations = {"Rotate", "ShiftRow"}; solution(rc, operations); rc = new int[][]{ {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; operations..
헷갈렸던 점 - 크게 어렵진 않았음. 넣고 빼는 것을 반복했을 때에 예외가 있을줄 알았는데 풀렸음 import java.util.*; class Solution { public static int solution(int[] queue1, int[] queue2) { int answer = -2; Queue q1 = new LinkedList(); Queue q2 = new LinkedList(); long totalQ1 = 0; long totalQ2 = 0; // 큐에 데이터 넣기 for(int i=0; i totalQ1){ q2Num = q2.poll(); q1.add(q2Num); totalQ1 += q2Num; cnt++; }else if(sum/2 < totalQ1){ q1Num = q1.pol..