일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 재귀 예제
- CSTS 폭포수 모델
- 국세청 해외주식 양도세 신고방식
- 테스트 자동화
- 재귀함수 예제
- 피보나치함수
- 주식 양도세 신고방법
- 최대공약수 예제
- oracle group by
- 한국투자증권 해외주식 양도세
- 톰캣 실시간 로그
- 홈택스 해외주식 양도세
- katalon 사용법
- git 연동
- js 자동완성
- 해외주식 양도세 신고
- 피보나치 예제
- Katalon Recorder 사용법
- 한국투자증권 양도세 신고
- tomcat log
- recursion example
- katalon xpath
- 해외증권 양도세 한국투자증권
- bfs 미로탐색 java
- katalon 비교
- katalon
- javascript 자동완성
- katalon 자동화
- java.sql.SQLSyntaxErrorException
- 피보나치함수 예제
- Today
- Total
목록알고리즘 (87)
엄지월드
설명문자를 contains로 비교하면 엄청 간단한 문제였을듯하지만, 문자를 원형으로 봐야 한다는 제약이 있었다. 그래서 문자를 뗏다 붙였다가 하는 방법을 고민하던 중, StringBuilder를 써서 delete하고 append하면 어떨까 생각이 들었다. append는 속도가 나쁘지 않을것 같은데, delete는 어떤가해서 찾아보니, 속도가 나쁘지 않았기에 활용해서 문제를 풀 수 있었다. [deleteCharAt]deleteCharAt(int index) 메서드는 StringBuilder에서 특정 인덱스의 문자를 제거하는 방법으로, 일반적으로 성능이 매우 빠릅니다. 성능 관련 사항: 시간 복잡도: StringBuilder의 deleteCharAt 메서드는 O(n) 시간 복잡도를 가집니다. 이는 제거할 ..
문제설명dfs와 같이 재귀를 활용해서 전체를 탐색하도록 푸는 아이디어로 접근했다.첫번째 간과했던 점은 같은 점수면 index가 높은 값을 구해야 했고,두번째 간과했던 점은 재귀를 돌 때에 left, center, right와 같이 3개로 나누어서 구현했는데right가 4까지 도달하면 center를 움직이고 left를 움직였다.하지만 이렇게 되면 예제 케이스를 통과하지 못한다. 왜냐하면 5 5 9를 선택해야 하는데 left보다 center를 먼저 움직이면 5 5 9를 선택하지 못하기 때문이다. 그래서 right 다음에 left를 움직이고 마지막에야 center를 움직여서 처리했다. 코드import java.io.BufferedReader;import java.io.BufferedWriter;import j..
문제설명너무 단순하게 풀면 시간초과가 나올 것 같아서 시도하지 못하다가 방법이 떠오르지 않아서 생각하는대로 구현해보았다. 생각한 방법은 1부터 주어진 숫자까지 모두 구하는 방법이었다. 그래서 for문을 통해서 시작하는 숫자를 i로 두고, 재귀를 통해서 끝까지 구해주었다. 결과에 배열을 출력해야 하기 때문에 list 객체를 넘겨서 조건이 맞으면 계속 add를 해주었고 size가 가장 큰 배열인지 체크해주었다. 느릴줄 알았는데 속도는 생각보다 빠르게 156ms로 나왔다.더 효율적인 방법이 있을까 싶어서 검색해보았지만 딱히 찾지 못했다.코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import j..
문제설명처음에는 아래와 같이 잘못 접근하였다. 1 - A2 - B3 - BA4 - BAB5 - BABBA6 - BABBAB 다시 보니, 말 그대로 A는 B로, B는 BA로 바꾸라는 것이었다.1 - A2 - B3 - BA4 - BAB5 - BABBA6 - BABBABAB A와 B의 갯수를 세어보니 A는 A끼리, B는 B끼리 피보나치 수열의 형태로 A[n] = A[n-2] + A[n-1] 형식으로 구성되어 있는 것을 확인할 수 있었다. A B1 00 11 11 22 33 5 A 1 0 1 1 2 3B 0 1 1 2 3 5 그래서 A[N] = A[N-2] + A[N-1] 형식으로 값을 구하도록 코드를 구현하였다. 코드package Baekjoon;import java.io.BufferedReader;impo..
문제설명마지막 줄에 주어진 A진수를 B진수로 출력하는 문제였다. 그렇게 하기 위해서 A진수를 10진수로 변경하고, 10진수를 B진수로 변경하도록 처리했다. 가독성을 위해 처리 단위로 메소드로 뺏다. 소스package Baekjoon;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.StringTokenizer;public class BOK_11576 { // 11576 Base Conversion public static void main(S..
문제설명- 정답률이 낮아서 걱정했지만, 내가 생각하는 방식대로 접근해보았다. - Map에 값을 넣고, 값이 존재하면 result 값을 1씩 더하도록 처리하였다.- 1번만 입력 받는게 아니라 0 0을 받을 때까지 계속 입력 받는 부분이라는 것을 놓쳐서 틀렸었다.코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.HashMap;import java.util.Map;import java.util.StringTokenizer;public class Main ..
문제설명- 대문자만 upperStr 리스트에 담았다. - UUCCPPCC와 같이 문자가 올 수 있으므로 searchIdx와 searchStr을 운영해서 순서대로 문자가 있는지 찾아내었다.코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.List;public class Main { public static void main(String[] args) throws IOException { B..
문제설명while문을 돌면서 요구사항대로 구현했는데, 틀리다고 나오는 부분이 있어서 맞왜틀?을 시전하고 있었다.틀렸던 부분은 ap와 같이 1개만 모음이 있을 때에 처리를 못해주었는데, 해당 부분을 처리하니 맞았다.checkVowel이라는 메소드를 별도로 만들어서 자음을 체크해주었고, 현재와 다음 인덱스가 자음이면 +2를 해주었다.+1만 해주니 3개 연속 자음일 때에 체크가 안되어서 >3 으로 3보다 큰 경우에 if문을 처리하고, 자음일 때 +2를 해주었다.소스import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.Outp..
문제 설명기본적으로는 문제에서 요구하는 대로 하면 된다.for문을 여러번 돌면서 구하는 것보다, 조금 효율적인 방법이 없을까 하다가.Collections.sort를 통해 정렬을 하게 되면 Max, Min 값을 한번에 구할 수 있을 것 같아서 sort 처리했다.Largest는 sort한 후에 for문을 돌면서 현재 index와 다음 index를 비교하면서 max 값을 찾아주었다. 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;i..
문제 설명입력 받는 순서대로 비교하면서 L을 더해줄려고 하다가 예제2에서 순간 헷갈렸다.그래서 우선순위큐로 넣은 후에 순차적으로 비교해주도록 처리하였다. 소스import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.math.BigDecimal;import java.util.PriorityQueue;import java.util.StringTokenizer;public class test1 { public static void main(String[] args)..