분류 전체보기 70

99클럽 코테 스터디 8일차 TIL DFS(촌수계산)

https://www.acmicpc.net/problem/2644 오늘은 작년에 풀었던 문제였다전형적인 DFS 문제로 시작노드에서부터 목표노드 까지의 거리를 구하면 된다!방문 순서가 아닌 노드 사이의 거리이므로 dfs 함수에 재귀로 같이 cnt를 돌려야 한다.** 도착하지 못하는 경우 -1 출력이므로, ans는 -1로 초기화 해주기!! package STUDY;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 Day08_BOJ_..

코테/백준 2024.11.04

[BOJ] 3079 입국심사 (Java)

https://www.acmicpc.net/problem/3079 문제를 읽다보니 너어무 익숙했던,, 프로그래머스 문제와 동일했다https://dev-zsunny.tistory.com/23 99클럽 코테 스터디 3일차 TIL 이분탐색(입국심사)https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 시간의 최솟값을 구해dev-zsunny.tistory.com그래서 금방 풀어서 제출했지만 2%, 13%, 30% 계속  틀렸구,,, 또 자료형 문제였다!!!!!분명 자료형 고려해줬다고 생각했는데, 심사 가..

코테/백준 2024.11.03

99클럽 코테 스터디 7일차 TIL DFS(모음사전)

https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제를 읽으면서 든 생각은 순열, 조합, 부분집합, DFS 어쨌든 재귀로 풀어야겠다고 생각했다문자열을 재귀에 담아 만들면서 돌리고, 원하는 문자가 나왔을 때 그때까지의 번호를 return 하는 형식.총 길이가 5이므로, 5까지만 만들고 되돌리고를 반복하면 된다.몇번째인지를 담는 변수는 함수에 넣으면 안됨!문자가 5를 넘어가면 안되니 5에서 return 조건 걸고, 5가 되기 전에 주어진 단어가 나올 수 있으니 이때도 return 조건문을 걸어줬..

[프로그래머스] 284531 노선별 평균 역 사이 거리 조회하기 (MySQL)

https://school.programmers.co.kr/learn/courses/30/lessons/284531 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 단위(km) 함께 출력 => CONCAT( _____ , 'km')소수 둘째자리에서 반올림(소수 첫째자리까지 출력) => ROUND( _____ , 1)***** 마지막에 ORDER BY 2 로 해서 틀렸는데, 이 문제처럼 SELECT시 CONCAT을 해서 문자열이 된 경우이 컬럼을 바로 정렬에 사용하면 안된다. '100km' 보다 '20km'이 더 크게 정렬될 수 있기에!!!잘 보고 정렬해주자!!!!!! ***** -- 코드를 작성해주세요-..

99클럽 코테 스터디 6일차 TIL 이분탐색(나무 자르기)

https://www.acmicpc.net/problem/2805 이분탐색 문제를 여러개 풀다보니 이제 문제를 읽으니까 언제 이분탐색을 써야할지 감이 살짝 온다1. 변수 범위가 클 때! (1억 이상)2. 구해야하는 값이 랜덤이 아닌, 특정 기준에 맞춰 지속적으로 범위를 찾아주어야 할 때! 즉 문제에서 구하는 값이 최대, 최소인 경우큰 범위 내에서 특정 값을 범위를 통해 찾아야 할 때 => 이분탐색을 쓰자! 무튼 이 문제는 전에 풀었던 예산과 비슷하게 풀었는데 2%에서 틀려서 당황했다,,여러 테케 만들어서 넣어봐도 다 분명 정답이 나오는데,, 문제는 자료형이었다!!!나무의 길이 M이 최대 20억인데 calc 함수에서 상근이가 집으로 가져가려고 하는 나무의 길이 result가 int형 범위를 넘어가는 것이었..

코테/백준 2024.11.02

[소프티어] 9657 나무공격 (Java)

https://softeer.ai/practice/9657 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai  소프티어는 처음 풀어보게 되었는데, 와 나 IDE에 엄청난 의존을 하고 있었구나를 느끼게 해주었다ㅠ 프로그래머스랑도 또 다름ㅠ무튼 이 문제를 읽고 솔직히 처음엔 배열돌리기 생각했는데 아무리 생각해도 넘 단순노동인 것 같고, 큐를 이용하기로 했다. 공격해서 제거만하면 되니까!작성해놓고 보니 입출력 빼곤 짧고 단순한 구현문제. 1. 환경파괴범의 위치를 큐에 넣는다.2. 하나씩 빼서 입력받은 행 안에 있는 지 확인한다.3. 안에 있고 &*이전에 공격 당한 환경파괴범이 없는 행*이면 visited에 체크해주고 q에 다시 넣지 않는다 (=제거)4. 그외(공격 행에 있지 않거나 이전에 ..

코테/소프티어 2024.11.01

99클럽 코테 스터디 5일차 TIL BFS(알고리즘 수업 - 너비 우선 탐색 1)

https://www.acmicpc.net/problem/24444 어제와 동일한데 DFS가 아닌 BFS로 푸는 문제였다. 같은 깊이의 정점을 우선 탐색하는!오늘은 어제와 같은 실수를 하지 않았다! 방문하는 순서대로 순서 잘 저장함.어제랑 너무 비슷해서 더 할말이 없다,,https://dev-zsunny.tistory.com/25 99클럽 코테 스터디 4일차 TIL DFS(알고리즘 수업 - 깊이 우선 탐색1)https://www.acmicpc.net/problem/24479 자칭 DFS, BFS 기계로서,, 문제 읽고 10분만에 구현 끝냈는데,, 제출하니 1초만에 틀렸다고 나왔다,,아무리 이것저것 테케 넣어봐도 맞는데,, 하다가 발견했다 내가 문dev-zsunny.tistory.com 제출 코드는 아래와..

코테/백준 2024.11.01

99클럽 코테 스터디 4일차 TIL DFS(알고리즘 수업 - 깊이 우선 탐색 1)

https://www.acmicpc.net/problem/24479 자칭 DFS, BFS 기계로서,, 문제 읽고 10분만에 구현 끝냈는데,, 제출하니 1초만에 틀렸다고 나왔다,,아무리 이것저것 테케 넣어봐도 맞는데,, 하다가 발견했다 내가 문제를 잘못 이해했다는 것을,,!!!말 그대로 방문순서를 저장했었어야 했는데 나는 DFS 재귀에 cnt 넣어서 시작점으로부터 거리가 얼마나 떨어져 있는 지를 저장하고 있었음,,무튼 이거 제외하면 단순 DFS 구현 문제였다!다만, 오름차순 정렬만 주의 하면 된다. 아래가 제출 코드(정답)이고,package STUDY;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamRead..

코테/백준 2024.10.31

[BOJ] 2343 기타레슨 (Java)

https://www.acmicpc.net/problem/2343  글을 읽으면서 블루레이의 크기를 mid로 두고 조건을 만족하는 경우의 최솟값을 구하면 됨을 알 수 있었다.조건은 calc 함수를 통해 arr을 순서대로 탐색하며 현재 블루레이 크기 mid인 경우 만들어지는 블루레이 개수 cnt 를 구해 비교해보면 된다.이때, 블루레이 크기보다 강의의 크기가 커서 담기지 않는 경우를 꼭 고려해주어야 한다.또한, 블루레이가 다 찬 경우 시작값에 현재 강의 시간을 잘 담아서 다시 계산해주어야 한다.마지막으로, 블루레이 개수가 꼭 m과 같아야하는 것이 아닌 작을 때도 고려해서 최솟값을 갱신하면 된다! start 값은 1 end 값은 총 강의 시간을 넘어가진 않을 것이므로, 총 강의 시간으로 설정했다.packag..

코테/백준 2024.10.30

99클럽 코테 스터디 3일차 TIL 이분탐색(입국심사)

https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 시간의 최솟값을 구해야하고, 범위로 알 수 있듯 이분탐색 문제였다.문제를 읽으면서 우선 시간을 mid로 설정하고 구하면 되겠다 싶었는데, 문제는 조건을 어떻게 설정하냐 였다.주어신 심사대에서 처리 가능한 인원수 = 현재 주어진 시간(mid) / 각 심사대에서 걸리는 시간 을 이용하면 되는 문제였다.(즉, 만약 30시간이 걸린다고 했을 때 주어진 테케에서는 1번 심사대: 30/7 = 4.XX명, 2번 심사대: 30/10 = 3명으로 최대 7명 처..