#99클럽 #코딩테스트준비 #개발자취업 #항해99 #til(6)
-
99클럽 코테 스터디 6일차 TIL : 이분탐색(백준 2805번)
백준 2805. 나무자르기 https://www.acmicpc.net/problem/2805 ⭐나의 풀이 🔎문제 정리)ex) 20 15 10 17 h = 15라고 하면, 자르면 15 15 10 15가 되고(남은나무) 상근이가 들고가는 나무는 5와 2인 나무를 가져감 -> 총 7미터 나무를 필요한만큼만, 적어도 M미터의 나무를 집에 가져가기위해 절단기에 설정할 수 있는 높이의 최대값을 구하는 프로그램을 작성하자. 입력) 나무의 수 N 상근이가 집으로 가져가려고 하는 나무의 길이 M (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 나무의 높이의합은 늘 M보다 크거나 같다. 높이출력) 적어도 M미터의 나무를 집에 가져가기 위해 절단기에 설정할 수 있는 높이의 최대값을 출력..
2024.11.02 -
99클럽 코테 스터디 5일차 TIL : BFS(백준 24444번)
백준 24444. 알고리즘 수업 - 너비 우선 탐색 1 https://www.acmicpc.net/problem/24444 ⭐나의 풀이 🔎문제 정리)문제에 주어진 BFS 덕에 알고리즘 해결법은 고민할 필요가 없었다 ! 💡 아이디어) 1. BFS어제 해결한 DFS 문제에서 메소드를 BFS로만 변경하는 과정을 거쳤다.BFS 는 주로 큐를 사용한다.Queue queue = new LinkedList(); ✔ 최종 제출한 코드)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util...
2024.11.02 -
99클럽 코테 스터디 4일차 TIL : DFS(백준 24479번)
백준 24479번. 알고리즘 수업- 깊이우선탐색1(DFS) ⭐나의 풀이 🔎문제 정리)N개 edge M개 간선 모든 간선의 가중치 1 인접 정점은 오름차순으로방문제한) 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)예시1) 입력 5 5 1 1 4 1 2 2 3 2 4 3 4 출력 1 2 3 4 01. 시작지점 1에서 출발(1번 edge 방문) 2. 다음 순서인 2번노드를 시도하는데 1-2를 잇는 간선이 있고, 2를 방문하지 않았음을 확인한 다음 방문한다.3. 2번과 같은 방식으로 3 edge 방문4. 2번과 같은 방식으로 4 edge 방문- 탐색 끝- 💡 아이디어) 1. DFS- 간선정보를 저장하는 int형 ..
2024.10.31 -
99클럽 코테 스터디 3일차 TIL : 이분탐색(프로그래머스 level3. 입국심사)
Programmers leve3. 입국심사 https://school.programmers.co.kr/learn/courses/30/lessons/43238 ⭐나의 풀이 🔎문제 정리)입국심사 기다리는 사람수 : n 심사관이 한 명 심사하는데 걸리는 시간이 담긴 배열 : times 심사관 수 : people 심사받는데 걸리는 시간의 최소값 return 하기 제한) 111예) n=6, times=[7,10] return 28 💡 아이디어) 1. 입국심사 자보다 심사관 수가 많으면, 가장 오래걸리는 심사관의 시간이 최소값임 => n이 people보다 작으면 times중의 최대값이 반환 => if(n2. 1 2 3 4 5 6 / 7 10 14 20 21 28/ 30 .... ..
2024.10.30 -
99클럽 코테 스터디 2일차 TIL : 이분탐색(백준11561. 징검다리)
11561. 징검다리 https://www.acmicpc.net/problem/11561 ⭐나의 풀이1 ~ N개 징검다리 1. 첫 징검다리 아무거나 밟을 수 있음 2. 두번째 점프부터는 이전 점프한 거리보다 1이상 긴거리 3. N번 징검다리는 반드시 밟아야한다. 4. N번 징검다리 이후는 점프하지 않아 규칙적용X 1승택이가 밟을 수 있는 최대 징검다리 수 출력하기 예1) 1 1 예2) 2 1 예3) 3 2 예4) N=100 13 수열 a1 3 6 10 15 21 28 36 45 55 66 78 (91-점프x) 100(대신점프o) =>13개= n(n+1)/2=> 해당 수열 a 에서 N보다 작은 것 중 가장 큰 것의 index찾기(1부터 시작) "1 + 2 + 3 + ... + k k" 찾기.예) N..
2024.10.29 -
99클럽 코테 스터디 1일차 TIL : 이분탐색(백준1072. 게임)
https://www.acmicpc.net/problem/1072 [1차 풀이] 예제1) 10 8 => 승률 80 11 9 => 승률 81 예제2) 100 80 => 승률 80 101 81 => 승률 81 예제3) 47 47 => 승률100(최대) 더이상 안올라감 -1 예제4) 99000 0 => 승률0 100000 1000 => 승률1 * 탐색 승률이 1프로올라가면 멈춤package search;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Ex1072 { public static void main(S..
2024.10.28