알고리즘/[항해99] 1일 1알고리즘 스터디 21

99클럽 코테 스터디 20일차 TIL ✒️CD 두 포인터/이분 탐색/해시

✅ 오늘의 학습 키워드binarySearch를 활용한 탐색 알고리즘StringBuilder, BufferedReader, StringTokenizer를 이용한 입출력 최적화두 포인터 Two Pointers / HashSet을 이용한 탐색 최적화🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 입력은 여러 개의 테스트 케이스로 이루어져 있다 각 테스트 케이스는 N M으로 시작하며 0 0 입력이 들어오면 종료된다상근이가 가지고 있는 CD의 수 N, 선영이가 가지고 있는 CD의 수 M (N, M ≤ 1,000,000)CD의 번호는 오름차순으로 주어진다 상근이와 선영이가 같은 CD를 여러 장 가지고 있는 경우는 없다 두 사람이 동시에 가지고 있는 CD의 개수를 출력한다오늘의 문제는 두 사람이 가지고 ..

99클럽 코테 스터디 19일차 TIL ✒️Sort 마스터 배지훈의 후계자

✅ 오늘의 학습 키워드이진 탐색 메서드 활용하기출력 초과 에러🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ N개의 정수를 입력받아 오름차순으로 정렬 M개의 정수 D가 정렬된 배열에서 처음으로 등장하는 인덱스 출력D가 배열에 없으면 -1 출력✨ 오늘의 회고📌내가 적은 답안📌더보기import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;import java.util.StringTokenizer;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); StringTokenizer s..

99클럽 코테 스터디 18일차 TIL ✒️캠프가는 영식

✅ 오늘의 학습 키워드이진 탐색🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 총 N개의 버스 정류장버스가 처음 출발하는 시간 S, 간격 I, 버스의 대수 C영식이가 버스 정류장에 도착하는 시간 T영식이가 버스를 타기 위해 기다려야 하는 최소 시간을 출력만약 버스를 탈 수 없으면 -1 출력1 ≤ N ≤ 501 ≤ T ≤ 1,000,0001 ≤ Si ≤ 1,000,0001 ≤ Ii ≤ 10,0001 ≤ Ci ≤ 100✨ 오늘의 회고📌내가 적은 답안📌더보기import java.io.IOException;import java.util.Scanner;public class Main { public static void main(String[] args) throws IOException { Sc..

99클럽 코테 스터디 17일차 TIL ✒️두 배열 사이의 거리 구하기

✅ 오늘의 학습 키워드완전 탐색이진 탐색🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 두 정수 배열과 정수가 주어진다두 정수 배열의 각 요소의 거리가 정수 d보다 큰 경우를 카운트한다정수 배열의 길이는 500 이하이고 정수 d는 100 이하이다 ✨ 오늘의 회고📌내가 적은 답안📌더보기class Solution { public int findTheDistanceValue(int[] arr1, int[] arr2, int d) { int count=0; for(int i=0; i이중 반복문을 사용하고 두 배열의 값을 모두 비교해서 조건을 찾도록 했다. 만약 arr1의 i번째 요소와 arr2의 j번째 요소의 차이가 d 이하이면 boolean을 true로 설정하고 반복..

99클럽 코테 스터디 16일차 TIL ✒️Intersection of Two Arrays

✅ 오늘의 학습 키워드HashSet을 이용한 중복 제거 🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 두 정수 배열 nums1과 nums2가 주어진다두 배열에 모두 나타나는 정수 배열을 반환한다반환하는 정수 배열 요소는 중복되지 않도록 한다1 0 ✨ 오늘의 회고📌내가 적은 답안📌더보기class Solution { public int[] intersection(int[] nums1, int[] nums2) { HashSet set1 = new HashSet(); HashSet set2 = new HashSet(); for (int num : nums1) { set1.add(num); } ..

99클럽 코테 스터디 15일차 TIL ✒️학생 인기도 측정

✅ 오늘의 학습 키워드HashMap을 값 기준으로 재정렬하기Map.Entry 인터페이스 활용하기 🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 학생들의 이름 n가 주어진다n 줄까지 학생의 이름이 공백으로 구분된 문자열이 주어진다인기도가 높은 학생부터 낮은 학생 순으로 출력인기도가 같은 경우 학생 이름 기준으로 오름차순으로 출력 ✨ 오늘의 회고📌내가 적은 답안📌더보기import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.u..

99클럽 코테 스터디 14일차 TIL ✒️브실이의 입시전략

✅ 오늘의 학습 키워드HashMap과 ArrayList를 활용하여 중복 제거 및 정렬하기정렬한 리스트에서 최솟값과 최댓값 구하기🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 브실이는 N개의 과목을 수강함브실대학은 M개 과목의 점수를 요구브실대학은 M개 과목 중 K개의 과목만 공개함공개한 과목 K개와 공개하지 않은 과목 (M-K) 개 점수의 최솟값과 최댓값을 출력 공개된 과목과 비공개된 과목은 브실이가 수강한 과목에 모두 포함 과목은 중복되지 않는다오늘의 문제는 HashMap과 ArrayList를 활용해서 Key와 Value 형식으로 값을 저장하고 정렬을 통해서 최댓값과 최솟값을 계산하는 문제였다.✨ 오늘의 회고📌내가 적은 답안📌더보기import java.io.BufferedReader;imp..

99클럽 코테 스터디 13일차 TIL ✒️단어 정렬

✅ 오늘의 학습 키워드Collections 클래스Comparator 인터페이스와 compare 메서드 오버라이드문자열 정렬 (길이 및 사전순)TreeSet을 이용한 중복 제거🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 문자열 n개를 1) 문자열 길이가 짧은 순, 2) 길이가 같다면 사전 순으로 정렬 단어의 개수 N은 1~20,000, 단어 길이는 50자 이하중복된 단어는 하나만 남기고 제거✨ 오늘의 회고📌내가 적은 답안📌더보기BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Set result = new TreeSet(); ..

99클럽 코테 스터디 12일차 TIL ✒️임스와 함께하는 미니게임

✅ 오늘의 학습 키워드StringTokenizer 활용하기 HashSet을 활용한 중복 제거하기🔍 오늘의 문제 분석↘️ 오늘의 문제 바로가기 ↘️ 게임 종류는 세가지(윷놀이, 같은 그림 찾기, 원카드) 존재각 게임 별 필요 인원 (2명, 3명, 4명)한 번 플레이한 사람과는 다시 플레이하지 않음✨ 오늘의 회고📌내가 적은 답안📌더보기import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Set;import java.util.StringTokenizer;public class Main { public static void ..