일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- js 자동완성
- git 연동
- 최대공약수 예제
- tomcat log
- 톰캣 실시간 로그
- 테스트 자동화
- 재귀함수 예제
- Katalon Recorder 사용법
- 국세청 해외주식 양도세 신고방식
- 피보나치함수 예제
- 피보나치함수
- javascript 자동완성
- 피보나치 예제
- katalon
- CSTS 폭포수 모델
- 홈택스 해외주식 양도세
- katalon 비교
- katalon xpath
- 재귀 예제
- 해외주식 양도세 신고
- 한국투자증권 해외주식 양도세
- bfs 미로탐색 java
- 주식 양도세 신고방법
- recursion example
- katalon 사용법
- 한국투자증권 양도세 신고
- java.sql.SQLSyntaxErrorException
- 해외증권 양도세 한국투자증권
- katalon 자동화
- oracle group by
- Today
- Total
목록알고리즘 (87)
엄지월드
헷갈렸던 점 - 정렬되지 않은 배열이라는 조건을 인지하지 못하고 풀고 있었다. 문제를 자세히 보자 - lostList를 운영하면서 중복으로 잃어버린자 == 가져온자를 계산하지 않고, 이외에 친구들도 매끄럽게 처리할 수 있었다. public static int solution(int n, int[] lost, int[] reserve) { Arrays.sort(lost); int answer = 0; int[] arr = new int[n+2]; // 여분이 있는 친구들은 1로 표시 for(int i=0; i
문제 해석 - 주어진 조건들에 맞게 계속 필터해주면 된다. 헷갈렸던 점 - 어려운 문제는 아닌데, 조건에 맞게 필터해주는게 까다로웠다. - if(s.length() > 0 && s.charAt(s.length()-1) == '.') 에서 ""인 경우가 있어서 에러가 나가지고 s.length > 0을 추가해주었다. 소스 코드 import java.util.*; public class 72410 { public static void main(String[] args) { // solution("...!@BaT#*..y.abcdefghijklm"); // solution("z-+.^."); solution("=.="); solution("123_.def"); solution("abcdefghijklmn.p")..
문제 해석 - 진법으로 바꿔서 계산을 하는 문제이다. 헷갈렸던 점 - 진법으로 어떻게 하면 쉽게 바꿀 수 있을까? 바로 생각이 나지 않아서 시간이 소요되었다. 그래서 진법 변환 방법을 첨부해둔다. - StringBuffer에서 insert를 사용하면 앞에서부터 계속 문자를 추가할 수 있다. 전체 코드 import java.util.Arrays; import java.util.HashSet; import java.util.Stack; public class Main { public static void main(String[] args) { solution(18); solution(45); solution(125); solution(1); solution(100000000); } public static ..
문제 해석 - 9 -> 5 -> 3 -> 6 -> 12의 노드로 가면 가장 지름이 길다. 헷갈렸던 점 - 트리 구성을 오랫만에 하니 헷갈렸었다. n크기만큼 배열을 만들고, List로 구성해주었다. - DFS가 이상하게 머리에서 안굴러가서 애먹었다. for문 구성 시 애먹음. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class test01 { public static void main(String[] args) ..
문제 해석 - 4미만이면 왼쪽 문자에 숫자를 더해주고, 4초과이면 오른쪽 문자에 숫자를 더해준다. - "AN"일 때에 5이므로 "약간동의"이고 N에 1을 더해준다. - "CF"일 때에 3이므로 "약간 비동의"이고 C에 1을 더해준다. - "MJ"일 때에 2이므로 "비동의"이고 M에 2를 더해준다. - "RT"일 때에 7이므로 "매우동의"이고 T에 3을 더해준다. 디버깅을 돌려보면 아래 그림과 같다. - 이렇게 쭉 문자를 더해주었을 때에 아래 그림 지표에 맞게 큰 숫자에 해당하는 문자를 출력해준다. 만약에 둘 다 같은 문자이면 왼쪽 문자를 출력해준다. 헷갈렸던 점 - 1,2,3은 3점,2점,1점을 더해주고 5,6,7은 1점,2점,3점을 더해주는 식을 세우려고 어렵진 않았지만 약간 생각을 했다. - 로직을 ..
문제 해석 1. Enter uid1234 Muzi가 있으면 "Muzi님이 들어왔습니다."를 result 메시지에 저장해준다. 2. Leave uid1234가 있으면 "Muzi님이 나갔습니다."를 result 메시지에 저장해준다. 3. Change uid1234 Prodo가 있으면 reuslt 메시지에 있던 Muzi를 모두 Prodo로 바꿔준다. Ex "Muzi님이 들어왔습니다." -----> "Prodo님이 들어왔습니다." 즉, 채팅 로그가 있을 때에 닉네임을 변경하게 되면 이전에 채팅 로그들에 있던 닉네임까지 모두 변경이 된다. 문제 풀이 1. uidToName이라는 HashMap을 운영하여 주어진 record에서 uid와 name을 모두 저장해준다. if(st.hasMoreElements()) { n..
문제 접근 방법 1. mapCountDFS를 통해 빙산이 두 덩어리 이상으로 되어 있는지 확인을 진행한다. 2. globalWarmingBFS를 통해 빙산을 녹여주는 작업을 진행한다. 헷갈렸던 점 - 빙산이 녹으면서 한번에 모두 0이 되어 덩어리가 0이 되는 경우를 잘못 처리해줬었다. 그래서 녹으면서 한번에 모두 0이 되면 result = 0; 으로 다시 초기화를 진행해주었다. int result = 0; while(true){ int mapCount = countMapDFS(); if(mapCount == 0){ // 모두 녹아 있을 때에 처리 result = 0; break; } ... ... } - 6%에서 계속 틀렸습니다.가 떠서 질문 게시판에 있는 반례를 모두 적용해보았으나, 정상 작동하였다. ..
DFS로 풀었는데 메모리초과, 시간초과가 나길레 검색을 해보니 DP를 함께 활용하는 문제였다. 그래서 검색을 진행하였고 나온 코드를 기반으로 이해를 진행하면서, 내 코드에서 DP를 활용하도록 변경해주었다. 문제 접근 방법 - 시작 시 dp[x][y] = 0 으로 바꿔주면서 해당 경로를 방문을 했다고 친다. - if(map[x][y] = C) continue; dfs(new People(nx, ny, people.cnt+1)); } hash.remove(arr[people.x][people.y]); 헷갈렸던 점 - 처음에는 visited를 운영해서 for문 전에 visited = true, for문 후에 visited = false로 처리해서 탐색했던 길을 초기화 해주면서 모든 경로를 탐색했었는데, 시간초..
문제 접근 - 사각형으로 칠해진 부분 외에 영역이 몇개의 영역인지, 그리고 영역의 크기가 각각 얼마나 되는지를 구하는 문제이다. - 다른 문제들에서는 친절하게 좌표값이 주어지지만 해당 문제는 꼭지점의 위치를 주기 때문에, 영역을 구하는 과정이 까다로웠다. (둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오른쪽 위 꼭짓점의 x, y좌표값이 빈칸을 사이에 두고 차례로 주어진다.) 그래서 아래와 같이 (c1,r1) ~ (c2,r2)를 구하고, 해당 영역을 모두 1로 채워주는 작업을 진행하였다. for (int i = 0; i < K ; i++) { st = new StringTokenizer(br.readLine()); int x1 = Integer.parseInt(..
문제 해석 - 아래 조건대로 정렬을 해야 한다. -- 속한 노래가 많이 재생된 장르를 먼저 수록합니다. -- 장르 내에서 많이 재생된 노래를 먼저 수록합니다. -- 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. - classic 장르는 1,450회 재생되었으며, classic 노래는 다음과 같습니다. -- 고유 번호 3: 800회 재생 -- 고유 번호 0: 500회 재생 -- 고유 번호 2: 150회 재생 - pop 장르는 3,100회 재생되었으며, pop 노래는 다음과 같습니다. -- 고유 번호 4: 2,500회 재생 -- 고유 번호 1: 600회 재생 - 따라서 pop 장르의 [4, 1]번 노래를 먼저, classic 장르의 [3, 0]번 노래를 그다음에 수록..