코테 74

[스터디] 99클럽 코테스터디 후기

오늘은 99클럽에서 진행하는코딩테스트 스터디 참여 후기를 남겨보려고 합니다! 4기 참여 이후 5기로 연속 참여한만큼정말 만족했던 스터디였는데요. 제가 가장 만족했던 점을 중점으로 작성해보겠습니다~!   현직자가 선별하는 알고리즘 문제 제공 알고리즘 공부를 하다보면 은근히 문제를 고르는 데 시간 소요를 하게 되는데요.코테스터디에서는 현직자가 선별하는 문제를 주 5회 제공하기 때문에 고민없이 풀 수 있다는 것입니다! 매일 오전 11시 ~ 익일 오전 10시 59분까지 제출해야하는 강제성도!   자신의 코테 실력에 따른 커리큘럼 선택 가능 99클럽 코테스터디는 비기너 / 미들러 / 챌린저 로 나뉘어 있어 자신의 코테 실력이나 상황에 따른 선택 참여가 가능합니다! 코테를 처음 공부한다면 비기너알고리즘 유형별 공부..

코테 2025.02.26

99클럽 코테 스터디 12일차 TIL 구현(소용돌이 예쁘게 출력하기)

https://www.acmicpc.net/problem/1022 사용 알고리즘구현 아이디어1. 주어진 입력 값의 시작점을 0, 0으로 옮기고, 이 크기의 배열 arr을 생성한다.2. 이를 기준으로 했을 때 0, 0 지점 (-r1, -c1)부터 1을 소용돌이 모양으로 채운다.3. dx, dy 배열로 우/상/좌/하 방향으로 이동할 수 있도록 한다.4. 이때, 같은 방향으로 1, 2, 3, ... 씩 증가하며 움직이는 게 2번씩 반복된다.(즉, 우 -> 상 -> 좌 -> 좌 -> 하 -> 하 -> 우 -> 우 -> 우 -> 상 -> 상 -> 상 -> ... 식으로 늘어나는 규칙의 코드를 반복문으로 짜야 함)5. 이동할 때 주어진 arr 배열 범위 밖이면 무시, 범위 안이면 배열에 값을 저장한다.6. 이를 길..

코테/백준 2025.02.04

99클럽 코테 스터디 11일차 TIL 백트래킹(N-Queen)

https://www.acmicpc.net/problem/9663 사용 알고리즘DFS, 백트래킹 아이디어1. 행을 DFS로 하나씩 올려가면서2. 열과 대각선 확인3. 마지막 행까지 왔을 때 + 1한 개수를 최종 출력 유의점1. 서로 공격할 수 있는 경우는 같은 행 / 같은 열 / 같은 대각선에 위치할 때이다. 제출코드package BOJ.Graph.DFS;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class BOJ_9663_NQueen { static int n; static int ans; static int[] visited; public static..

코테/백준 2025.02.03

[BOJ] 1865 웜홀(Java)

https://www.acmicpc.net/problem/1865 사용 알고리즘벨만-포드 아이디어1. 웜홀은 음의 간선치2. 간선 수(N-1) 만큼 거리의 최솟값 구하기3. N번째 최솟값에 변동이 생기면 음의 사이클 -> 시간이 되돌아감 유의점1. 모든 지점이 연결되어 있지 않을 수 있음. 가상의 지점 0에서 각 지점으로 모두 가중치 0으로 연결시키기 제출코드package BOJ.Graph.BellmanFord;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;imp..

코테/백준 2025.01.29

99클럽 코테 스터디 10일차 TIL BFS(빙산)

https://www.acmicpc.net/problem/2573 사용 알고리즘구현, BFS 아이디어1. 빙하좌표 큐에 담아 4방탐색하며 0 개수만큼 녹임2. BFS로 빙하 덩어리 개수 확인, 2개 이상이면 탈출3. 남은 빙하 큐에 다시 담기, 크기가 0이면 (다 녹았으면) 0 출력4. 반복 유의점1. 빙하 녹일 때 깊은 복사 사용2. 빙하가 다 녹을 때까지 분리가 안되면 0 출력 제출코드package BOJ.Graph.BFS;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util..

코테/백준 2025.01.24

99클럽 코테 스터디 8일차 TIL 백트래킹(양과 늑대)

https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사용 알고리즘DFS, 백트래킹 아이디어1. 리스트에 현 노드의 자식 노드를 탐색해 나감.2. 양 3.  양 > 늑대를 만족하는 경우를 우선 탐색하면서 이전에 탐색하지 못했던 노드 재탐색.4. 최대 양의 수 갱신 제출코드import java.util.*;class Solution { static int len; static int maxAns; static List[] list; public static voi..

99클럽 코테 스터디 7일차 TIL 백트래킹(주사위 윷놀이)

https://www.acmicpc.net/problem/17825 사용 알고리즘구현, 백트래킹 아이디어1. 분기점을 기준으로 경로를 나누어 배열에 점수 저장2. dfs로 각 말이 움직였을 경우 탐색2-1. 분기점처리, 도착점에 이전 말이 있을 경우 처리(도착점이 40을 넘어갔을 때는 제외)3.점 수 합의 최댓값으로 갱신 유의점1. 깊은복사로 말 위치 원상복귀2. 10/20/30 분기점에다가 25 이후의 길을 각각 설정한다면 말이 겹치는 경우 찾기 어려움.. 제출코드package BOJ.Implementation;import com.sun.security.jgss.GSSUtil;import java.io.BufferedReader;import java.io.IOException;import java.io..

코테/백준 2025.01.22

99클럽 코테 스터디 6일차 TIL 다익스트라(특정한 최단 경로)

https://www.acmicpc.net/problem/1504 사용 알고리즘다익스트라 아이디어1. 각 회선별 최단거리 계산 (다익스트라)2. v1, v2를 지나야 하므로 1 -> v1 -> v2 -> n 또는 1 -> v2 -> v1 -> n 인 경우 최단거리를 구한다. 유의점1. v1, v2 지나는 지 확인해서 마지막 노드에 저장하려 했으나, 무조건 최단 경로의 값을 저장해 이동하려는 문제가 발생했다.   -> 이 경우에는 경로를 쪼개서 1 -> a -> b -> n 각각의 경우의 최단거리를 계산하자!2. dist[]의 초기값이 Integer.MAX_VALUE;로 되어 있다보니, 거리를 합하면서 오버플로우가 발생했다. -> (long) 형변환 제출코드package BOJ.Graph.Dijkstra;..

코테/백준 2025.01.20

99클럽 코테 스터디 5일차 TIL 투포인터(두 용액)

https://www.acmicpc.net/problem/2470 사용 알고리즘투 포인터 아이디어1. 배열 정렬2. 두 용액의 합이 음수일 때는 s++;, 양수일 때는 e--;로 범위 좁히기3. 음수일 때, sum의 절댓값이 0에 가까워지는 수로 갱신하고, 양수일 때 sum이 0에 가까워지는 수로 갱신 유의점1. 절댓값 처리를 잘못해서 디버깅하다가 헷갈림; 주석으로 한번 잘 장리해두고 적자.. 제출코드package BOJ.BinarySearch;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;..

코테/백준 2025.01.17

99클럽 코테 스터디 4일차 TIL 투포인터(좋다)

https://www.acmicpc.net/problem/1253 사용 알고리즘투 포인터 아이디어1. 배열 정렬2. 모든 각각의 수에 대해 투포인터 탐색3. s, e가 현재 탐색하는 수인 경우 제외하고4. 좋다를 만족하는 수면 cnt++5. s, e의 합이 탐색하는 수보다 작으면 s++;, 크면 e--; 유의점1. s, e가 현재 탐색하는 수인 경우 제외 조건을 걸지 않아서 틀렸었음,, (s == i 면 s++;, e == i 면 e--;) 제출코드package BOJ.BinarySearch;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import..

코테/백준 2025.01.16