본문 바로가기

분류 전체보기40

99클럽 코테 스터디 11일차 TIL - 과자 나눠주기 무엇을 새롭게 알았는지 이분 탐색은 단순 정렬된 값만이 아니라, 정답의 후보 범위가 있을 때에도 최댓값/최솟값을 찾는 데 매우 유용하다는 걸 느꼈어. 그리고 count += c / len;처럼 나눠줄 수 있는 조각 수를 누적하는 방식이 깔끔했어. 내일 학습할 것은 무엇인지 내일은 이분 탐색과 비슷한 로직을 활용하는 Parametric Search 개념을 더 익히고, 예를 들어 랜선 자르기 같은 문제도 풀어보려 해.오늘의 학습 키워드이분 탐색최적화조건 탐색자르기 문제공부한 내용 정리 문제는 과자를 잘라서 조카 M명에게 하나씩 나눠주되, 각 조카가 받는 과자의 길이가 최대가 되도록 하는 조건이었다. 단순히 길이마다 나눠지는지 전부 계산하면 비효율적이니까, 가능한 길이의 범위(1 ~ 가장 긴 과자 길이)를 두.. 2025. 4. 14.
99클럽 코테 스터디 10일차 TIL - 병든 나이트 (백준 1783번) 오늘의 학습 키워드구현조건 분기최대값 탐색체스판 이동공부한 내용 정리병든 나이트는 보통 나이트보다 움직임이 제한된 형태로, 4가지 방향으로만 이동할 수 있다.목표는 체스판 위에서 가능한 많은 칸을 방문하는 것이고, 이동 횟수가 4번 이상이면 네 가지 이동을 모두 써야 한다는 제약이 추가된다.따라서, 체스판 크기(N, M)에 따라 조건을 분기해서 접근해야 했고, 각각의 경우를 다음과 같이 나눠서 풀었다.N == 1: 위아래 이동 자체가 불가능 → 방문 칸 수는 무조건 1N == 2: 2, 3번 움직임만 가능 → (M + 1) / 2 만큼 오른쪽 이동 가능, 최대 4칸N >= 3 && M N >= 3 && M >= 7: 모든 움직임 사용 가능 → M - 2칸까지 이동 가능소스코드/*병든 나이트입력 : N M.. 2025. 4. 11.
제목: 99클럽 코테 스터디 9일차 TIL - 저울(백준 2437번) 오늘의 학습 키워드그리디정렬누적합최소값 탐색공부한 내용 정리이 문제는 무게추를 이용해 만들 수 없는 가장 작은 무게를 찾는 문제다.핵심 아이디어는 오름차순으로 정렬한 후, 1부터 차례로 누적하며 비교하는 것이다..처음 target을 1로 시작해서, 지금까지 만들 수 있는 무게 범위는 [1, target)이다.만약 다음 무게추가 target보다 작거나 같으면 target을 확장할 수 있고,반대로 크다면 그 순간 target은 만들 수 없는 가장 작은 무게가 된다.예를 들어 [1, 1, 2, 3, 6, 7, 30] 같은 배열을 보면,target이 누적되다가 30 앞에서 멈춰버리게 되고, 그 시점의 target이 정답이 되는 구조다.소스코드/*저울입력 : N 무게추 갯수 N int 변환 weight.. 2025. 4. 10.
신한DS 금융SW 아카데미 5기 지원 후기, 서류합격, 면접 대기번호 지원 절차KDT 과정 국비지원 교육인 신한DS 금융SW 아카데미 지원 후기를 적겠습니다.지원 절차는 서류합격 - 필기시험 + 면접 (한번에 같이 봐요) - 최종합격 순으로 이루어졌어요.서류합격은 4년제에 대졸이기만 하면 붙는거 같아요.서류에서는 자기소개서, 지원동기 이런건 없고 인적사항만 입력 후 면접 참석 문자를 받아요.면접봤을때 2학년 휴학한 분도 있었어요.사전 테스트사전 테스트는 코딩 테스트가 아니고 이해도와 지식수준을 파악하기 위한 내용이래요..!예를들어서 Java가 컴파일될때 어떤 과정으로 되는지?웹 사이트에 접속하는 순간 무슨일이 일어나는지?데이터베이스가 왜필요하고 데이터베이스가 무었이라고 생각하는지?이런 형식으로 자유롭게 서술하라고 나와요. 근데 다 풀려면 시간이 생각보다 없어요. 보고 바로.. 2025. 4. 9.
99클럽 코테 스터디 8일차 TIL - 한국이 그리울 땐 서버에 접속하지 (백준 9996번) 오늘의 학습 키워드문자열 처리패턴 매칭startWithendsWith공부한 내용 정리이 문제는 주어진 패턴이 파일명과 일치하는지 확인하는 문제였다.패턴에는 *가 하나 들어가고, 그 위치는 중간에만 있어서 쉽게 앞/뒤로 나눌 수 있다.예를 들어 "a*d"라면 "a"로 시작하고 "d"로 끝나는 파일명은 모두 일치한다.핵심은 이 두 조건을 동시에 만족해야 한다는 것과, 앞+뒤 패턴의 총 길이보다 파일명이 짧으면 아예 불가능하다는 점이었다.그래서 String.startsWith(), String.endsWith()를 활용해서 풀었다.소스코드/*입력 : N, pattern로직 : 패턴을 *기준으로 분리 분리한 앞 뒤를 파일 이름이랑 비교출력 : 맞으면 DA 틀리면 NE*/import java.util.*.. 2025. 4. 9.
99클럽 코테 스터디 7일차 TIL - 쇠막대기 (백준 10799번) 오늘의 학습 키워드- 스택- 괄호 문자열- 구현- 쇠막대공부한 내용 정리오늘은 백준 4963번 쇠막대기 문제를 풀었다.쇠막대기 문제는 괄호 문자열을 해석해 몇 개의 쇠막대기가 잘리는지를 계산하는 문제였다.()는 레이저를 의미하고, (로 시작해서 )로 끝나는 경우는 쇠막대기의 끝을 나타낸다.스택을 활용해서 여는 괄호는 무조건 push하고, 닫는 괄호를 만나면 pop하면서 이전 문자가 (였는지 )였는지를 보고 레이저인지 쇠막대기의 끝인지 판단했다.레이저일 경우 현재 스택에 쌓인 개수만큼 잘리니까 stack.size()를 더하고, 쇠막대기의 끝이면 +1을 해줬다. 소스코드/* * 쇠 막대기 * 입력 : 쇠막대기와 레이저의 배치를 나타내는 괄호 표현 (공백 X) * 출력 : 잘려진 쇠막대기의 총 개수 */imp.. 2025. 4. 8.
99클럽 코테 스터디 6일차 TIL - 섬의 개수 (백준 4963번) 오늘의 학습 키워드- DFS- 2차원 배열 탐색- 8방향 탐색- 섬의 개수공부한 내용 정리오늘은 백준 4963번 “섬의 개수” 문제를 풀었다.이 문제는 지도의 정보가 2차원 배열 형태로 주어지고, 섬(1로 표시된 영역)의 개수를 세는 문제다.단순히 상하좌우만 보는 것이 아니라, 대각선까지 포함한 8방향을 모두 확인해야 한다. 접근 방식: 1. 입력을 받아 지도를 구성. 2. 지도 전체를 순회하며 아직 방문하지 않은 섬(1)을 만나면 DFS로 연결된 모든 땅을 방문 처리. 3. 이 과정을 반복하면서 섬의 개수를 새기. 소스코드import java.util.Scanner;public class Main { static int w, h; static int[][] map; static bool.. 2025. 4. 7.
[SSAFY] 13기 전공자 불합격, 코테 불합격 후기, 준비과정 불합격한 후기가 궁금할까.. 싶었지만 저도 불합격 후기를 많이 찾아 봤었고, 도움이 되었던 기억이 있어서, 비록 코테에서 떨어졌지만 후기를 작성해봅니다..에세이, SW적성검사 준비에세이는 최대 600자, 500자 내외 작성으로 단 1문항이였습니다.향후 어떤 SW개발자로 성장하고 싶은지 SW관련 경험을 토대로 기술하고, SAFFY에 지원하신 동기에 대해서도 작성 바랍니다. (500자 내외/ 최대 600자까지)- SW관련 경험 : SW개발, SW프로젝트 및 SW경진대회 경험(참여, 수상 등), IT관련 자격증 취득 등 이렇게 단 1문항이였고그동안 수상했던 내용과 (해커톤 수상 경험 2회) 교내 동아리 했던 내용을 위주로 작성하였고, 솔직한 제 생각을 작성했어요.메모장을 켜서 일단 쭉 하고싶은말을 편하게 적어.. 2025. 4. 4.
99클럽 코테 스터디 5일차 TIL - 수열 (백준 2559번) 오늘의 학습 키워드- 슬라이딩 윈도우- 연속 부분합- 시간복잡도 개선공부한 내용 정리오늘은 주어진 온도 수열에서 연속된 K일 동안의 합이 가장 큰 값을 구하는 문제를 풀었다.처음에는 이중 for문을 사용하여 모든 구간의 합을 계산했고, 이는 시간복잡도가 O(N*K)로 비효율적이었다.하지만 이후 슬라이딩 윈도우 기법을 통해 O(N)으로 줄일 수 있다는 걸 알게 되었고, 이를 직접 코드에 적용해 보았다.소스코드import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); .. 2025. 4. 4.