학교에서 제공하는 여름방학 코딩 테스트 대비 캠프 with 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석에 수록된 문제 풀이 및 강의 정리 내용입니다. dx, dy 테크닉이란? 현재 좌표 x, y = (0, 0)이라고 할 때 동쪽으로 이동하면 x = x + 1,
학교에서 제공하는 여름방학 코딩 테스트 대비 캠프 with 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석에 수록된 문제 풀이 및 강의 정리 내용입니다.코딩 테스트에서 구현이란 생각을 코드로 바꾸는 과정을 의미한다. 최근 삼성에서 자주 출제 되고 있는 코테 유형 중
학교에서 제공하는 여름방학 코딩 테스트 대비 캠프 with 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석에 수록된 문제 풀이 및 강의 정리 내용입니다.재귀함수는 자기 자신을 직간접적으로 호출하는 함수를 의미한다. 이를 쉽게 이야기하면 어떤 함수 f안에 동일함 함수
최근 코딩 테스트에서 자주 마주할 수 있는 구현 카테고리 중 Simulation에 해당하는 문제로 매 시뮬레이션 마다 수행해야 하는 작업이 많아, 코드를 작성하기 전 어떤 기능(메소드)을 어떤 순서로 구현해야하는지를 먼저 정리해보는 게 매우 중요하다. 위 이미지에서
문제 설명📖 최근 코딩 테스트에서 자주 마주할 수 있는 구현 카테고리 중 Simulation에 해당하는 문제로 매 시뮬레이션 마다 수행해야 하는 작업이 많아, 코드를 작성하기 전 어떤 기능(메소드)을 어떤 순서로 구현해야하는지를 먼저 정리해보는 게 매우 중요하다.
문제 설명📖 DFS, BFS를 활용한 완전 탐색 문제로 문제에서 주어진 격자 크기가 8x8인 것에 비해 제한 시간이 2초로 넉넉한 편이라 재귀를 활용한 DFS로 풀어보았다. 하지만 DFS로 수행 시 backtracking 과정에서 다시 이전 상태로 원상 복귀하는
초기에는 LCA(Lowest Common Ancesotr)로 접근하여 N개의 노드 중 두 노드(A, B) 선택하여 LCA를 찾고 LCA 부터 루트 노드까지의 경로 + LCA 부터 A 노드 까지 경로 + LCA 부터 B 노드까지 경로를 더해 답을 구하려고 하였다. 하지만
중위 순회(in-order) 과정을 하나하나 살펴보며 복습할 수 있는 문제로 중위 순회를 진행하며 몇 개의 간선을 사용하는 지, 즉 몇 번 이동하는 지를 구하는 문제이다.풀이 과정은 크게 두 가지로 구분된다.먼저 유사 중위 순회의 종료 시점을 알기 위해 일반 중위 순회
문제 설명📖 문제에서 주어지는 간선 정보를 바탕으로 DFS로 트리를 탐색하며 싸이클(순환선)을 찾고 싸이클에 포함되지 않는 노드와 싸이클에 포함되는 노드 간 최소 거리를 찾는 문제이다. 풀이 방법✏️ 1. 문제 풀이 전 생각해 볼 점 양방향 그래프인 점에 유
문제 설명📖 문제에서 주어지는 간선 정보를 바탕으로 DFS로 트리를 탐색하며 싸이클(순환선)을 찾고 싸이클에 포함되지 않는 노드와 싸이클에 포함되는 노드 간 최소 거리를 찾는 문제이다. 풀이 방법✏️ 1. 문제 풀이 전 생각해 볼 점 양방향 그래프인 점에 유
https://www.acmicpc.net/problem/15732lower bound를 활용한 이분 탐색으로 목표하는 값을 찾는 문제로 이분탐색 문제를 별로 접해보지 못해 떠올리기 어려웠던 문제이다.박스들을 lower bound를 활용한 이분 탐색을 진행하여
중복 조합을 활용한 완전 탐색을 통해 라이언이 n 번의 라운드 동안 몇 점을 맞췄는 지 결정어피치와 라이언이 총 획득한 점수 계산라이언이 더 많은 점수를 얻은 경우들 중 점수 차이가 최대인 경우를 구문제 링크 : 양궁 대회
첫 번째 큐와 두 번째 큐의 초기 상태 및 원소의 총 합을 저장더 큰 큐에서 원소 추출더 작은 큐에서 원소 추출2번 과정에서 추출한 원소를 총합이 더 작은 큐에 삽입3번 과정에서 추출한 원소를 총합이 더 큰 큐에 삽입2~5번 과정을 두 큐의 합이 같아질 때 까지 반복스
Map<String, List\[]> 형태로 주차 정보를 저장 이때 key 값은 차량 번호, value의 0번째 리스트는 입차 시간, 1번째 리스틑 출차 시간을 저장한다.저장한 정보를 바탕으로 총 주차 시간을 계산총 주차 시간을 바탕으로 주차 요금 계산문제 링크
입력으로 주어진 수를 Integer.toString() 메소드로 K진수로 변환split("0") 메소들르 통해 K진수로 변환한 문자열을 문제에서 주어진 조건에 따라 여러 덩어리로 구분각 덩어리가 소수인지 판단 후 총 소수의 개수 반환문제 링크 : k진수의 소수 개수 구
대기실의 거리두기 여부를 확인하는 게 이 문제의 핵심인데 대기실에 사람이 있는 위치에서 동서 남북에 방문 표시를 한 사람씩 해나가다가 도중 이미 방문한 곳에 다시 방문 표시를 하는 경우가 발생한다면 이는 거리두기가 이루어지지 않은 것이다. 문제 링크 : 거리두기 확인하
리스트 전체(n)를 돌며 앞뒤로 비교하여 정렬하는데 이를 n번 반복시간 복잡도 O(n^2)리스트 전체(n)를 돌며 최솟값을 n번 찾아 정렬시간 복잡도 O(n^2)두 번째 원소부터 시작하여 첫 번째 원소까지 내려가며 자신이 위치해야 하는 곳을 찾아 삽입시간 복잡도 O(n
문제에서 주어진 대로 문자열을 앞에서 부터 순회하며 현재 위치에서 뒤로 이어지는 사전에 존재하는 최장 문자열을 탐색 후 사전의 index를 찾는다. 마지막 문자를 고려하는 게 까다로웠다...문제 링크 : 압축
격자 내 시뮬레이션 문제로 문제에서 주어진 조건대로 1. 터뜨릴 위치를 결정 후 2. 터지는 타일의 개수를 세고 3. 터뜨린 후 격자에 중력을 작용(당기기)한다. 문제 링크 : 프렌즈4블록