일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 2748 자바
- 파이썬
- BFS
- 자바 10866
- 10807 자바
- 자바 2346
- 자바 2164
- dfs
- 1010 자바
- 그리디
- IAM 사용자
- 백준 2346 자바
- 28278 스택 2
- 티움투어
- 2798 자바
- 자바 28278
- IAM Identity Center
- 자바
- 2164 자바
- 10810 자바
- 백준 28278 자바
- 자바 1003
- 코딩테스트
- 1764 자바
- 데보션영 3기
- 백준 10866 자바
- 10813 자바
- 백준 1764 자바
- 백준
- 2346 풍선 터뜨리기
- Today
- Total
목록코딩테스트 (102)
자두의 데브로그

https://www.acmicpc.net/problem/2606 1과 연결된 정점들과 연결된 또 다른 정점들의 값을 세면 되는데 이때 dfs로 동일하게 탐색하는데 만약 1과 연결되어있지 않고 끊어져 있으면 dfs로 탐색이 되지 않는다. 그렇기 때문에 dfs 함수를 거친 만큼만 count++ 해주면 된다.import java.io.*;import java.util.*;public class Main { public static boolean[] visited; public static ArrayList> graph = new ArrayList(); public static int count = 0; public static void main(String[] args) throws I..

https://www.acmicpc.net/problem/24444 값 입력 받는 건 동일하지만 bfs 함수 구현하는 것만 차이가 있다. queue를 하나 만들고 시작 정점부터 정점에 인접한 정점 중 작은 수부터 방문하게 된다. 이때 dfs는 예를 들어 정점 1과 인접한 정점이 2, 4가 있었을 때 2를 방문한 뒤에는 2와 인접한 정점을 방문하게 되는데 bfs의 경우는 2를 방문한 뒤, 1과 인접해있는 4를 그 다음으로 방문하게 된다는 게 차이가 있다. 즉, graph.get(1) 의 모든 결과 값을 다 방문하도록 구현해야돼서 큐를 사용한다고 생각하면 된다.import java.io.*;import java.util.*;public class Main { public static int[] visi..

https://www.acmicpc.net/problem/24479https://www.acmicpc.net/problem/24480 DFS를 자바로 구현해본 적이 없어서 푼 가장 기초적인 DFS 문제 ! ArrayList> 로 이차원 배열을 선언해서 푼다는 걸 잘 알아두면 될 것 같다! [새로 알게 된 것]Collections.sort() 로 오름차순 정렬 가능Collections.sort(ArrayList, Collections.reverseOrder()) 로 내림차순 정렬 가능// 24479번import java.io.*;import java.util.ArrayList;import java.util.Collections;import java.util.StringTokenizer;public clas..
가장 비싼 상품 구하기-- 코드를 입력하세요SELECT MAX(PRICE) AS MAX_PRICE FROM PRODUCT; 가격이 제일 비싼 식품의 정보 출력하기-- 코드를 입력하세요SELECT PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE FROM FOOD_PRODUCT WHERE PRICE = ( SELECT MAX(PRICE) FROM FOOD_PRODUCT); [새로 알게 된 점]집계 함수와 함께 출력하는 다른 속성들은 모두 첫 번째 값을 출력하게 된다.중첩 SQL문을 통해 필요로 하는 값을 갖는 경우에 대해 WHERE 조건을 걸면 된다.최솟값 구하기-- 코드를 입력하세요SELECT MIN(DATETIME) FROM ANIMAL_INS; [..
오프라인/온라인 판매 데이터 통합하기-- 코드를 입력하세요SELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d") AS SALES_DATE, PRODUCT_ID, USER_ID, SALES_AMOUNT FROM ONLINE_SALE WHERE SALES_DATE LIKE "2022-03%"UNION ALLSELECT DATE_FORMAT(SALES_DATE, "%Y-%m-%d") AS SALES_DATE, PRODUCT_ID, NULL, SALES_AMOUNT FROM OFFLINE_SALE WHERE SALES_DATE LIKE "2022-03%"ORDER BY SALES_DATE, PRODUCT_ID, USER_ID; [새로 알게 된 점]UNION ALL여러 쿼리문을 합쳐서 하나의..
흉부외과 또는 일반외과 의사 목록 출력하기-- 코드를 입력하세요SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, "%Y-%m-%d") as HIRE_YMD FROM DOCTOR WHERE MCDP_CD = "CS" or MCDP_CD = "GS" ORDER BY HIRE_YMD desc, DR_NAME asc; [새로 알게 된 점]날짜의 포맷을 지정하기 위해서는 DATE_FORMAT(날짜_관련_속성, 날짜_포맷) 함수를 사용한다.여러 속성을 통해 정렬하기 위해서는 먼저 작성한 속성을 우선으로 정렬하게 되고 내림차순인지, 오름차순인지는 ORDER BY 속성 내림/오름차순 을 통해 할 수 있다. 과일로 만든 아이스크림 고르기-- 코드를 입력하세요SELECT f...

https://www.acmicpc.net/problem/1735 두 개의 분수를 입력한 다음 분수의 합을 구하는 문제였다. 여기서 특징은 기약분수를 구해야한다는 것이었는데! 어떻게 구현해야될지 고민하다가 max랑 min을 사용하여 분자와 분모 중 더 큰 수까지 나눠가면서 약수를 가진다면 나눠서 기약분수로 만들 수 있도록 구현하였다. 근데 풀고 보니 풀이 자체가 틀린 건 아니지만 너무 요상해서 다른 문제 풀이 방법을 좀 찾아봤다.import java.io.*;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader b..
https://www.acmicpc.net/problem/19532 브루트포스 문제인 걸 까먹고 연립 방정식 손으로 풀 듯이 다 구현해서 돌려봤는데 틀렸다고 했다. 물론 어디가 틀린 건지 파악하지는 못했지만 생각해보니까 답이 나올 때까지 -999부터 999까지 i와 j를 돌려가면서 c와 f를 만족하는 그 순간의 i와 j를 출력하면 되는 문제라 싹 지우고 다시 풀었다. 브론즈 문제인 이유가 있었구나,, 허무해~!import java.io.*;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buf..
https://www.acmicpc.net/problem/2231 어제 문제 풀면서 브루트포스 문제를 조금 더 풀어봐야겠다고 생각이 들어 쉬운 문제부터 차례로 풀어보기 시작했다! for문 내에서 while문 돌릴 때 for문에서 사용하는 변수가 아닌 임시 변수 tmp를 사용하여 i의 값을 조정해가며 문제를 풀면 됐다. 문제 자체는 어렵지 않았지만 해당 부분을 생각을 못해 i를 냅다 나누고 또 나누고,,, 이래서 무한 루프에 갇혀서 답이 안나오는 문제가 있었다. 그치만 해결 ^^! * 빠르게 짚고 가는 브루트포스 간단 개념 브루트포스: 완전탐색 알고리즘가능한 모든 경우의 수를 모두 탐색하면서 요구조건에 충족되는 결과만을 가져오는 알고리즘 알고리즘 설계 방법해가 존재할 것으로 예상되는 모든 영역을 전체 탐색..