목록programmers (47)
어흥
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42884?language=java 코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr 1. 주의할 점 - 정렬 기준을 선택한다 - 정렬기준에 따라 더 나은(? 짧은) 방법을 선택한다 2. 구현 - 차량의 끝지점을 기준으로 오름차순 정렬을 한다. 같다면, 시작점의 오름차순으로 정렬한다 - 우선순위큐를 사용하여 각 차량의 구간을 정렬한다 - 1개 뽑은 이후, 이 구간의 가장 오른쪽 끝부분(Right)과 우선순위큐에서 뽑아내는 원소의 가장 왼쪽부분(Cl)을 비교한다 - Right < Cl라면 새로운 구간이 생겨나므로 ..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1845?language=java 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 1. 주의할 점 - 무엇을 출력해야하는지 잘 살펴본다 (조합의 수로 생각했다가 문제만 여러번 다시 읽었다..) 2. 구현 - Map을 이용해서 를 저장한다 - 폰켓몬의 종류와(Map의 크기) 골라야하는 폰켓몬의 수(Nums/2)를 비교하고, 둘 중 작은것을 반환한다 [C++] #include #include #include..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 1. 주의할 점 - 최대공약수로 접근한다 - 직선이 정사각형의 변에 걸친 경우를 고려한다 - Long Long과 Double을 이용하여 연산이 변수의 최대값을 벗어나지 않도록 한다 2. 구현 - GCD() 함수를 통해 W와 H의 최대공약수를 구한다 - W와 H를 최대공약수로 나눈다 - Cal() 함수를 통해 바뀐 W x H..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 1. 주의할 점 - 같은 색일때에만 큐에 넣는다 2. 구현 - Check[][] 배열을 초기화한다 - Pictures[][] 배열에 대해 0이 아니고 확인하지 않은 곳이라면 BFS를 수행한다 - 4가지 방향 탐색을 하며 같은 색이고 방문하지 않았다면 Queue에 추가한다 #include #include #include using namespace std..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 1. 주의할 점 - 그리드 알고리즘으로, 상황에 맞게 잘 설계한다 2. 구현 - 처음엔 DFS를 통해 해결했지만, 굳이 DFS를 사용하지 않아도 될것 같다 - Arr[] 배열을 통해 현재 보유한 체육복 수 -1만큼 저장한다 - For문을 통해 만약 현재 체육복 미소지자면 양옆 사람을 확인하여 대여가 가능하다면 대여를 한다. - 이후, 현재 체육복을 1..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 1. 주의할 점 - 2중 For문은 최대한 사용하지 않도록 한다 2. 구현 - Brown = 2*(Row-1)+2*(Col-1) 을 통해 rowPlusCol 값을 구한다 - For문을 통해 Row와 Col값을 구하여 Answer에 추가한다 #include #include using namespace std; vector solution(int b..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/86052 코딩테스트 연습 - 빛의 경로 사이클 각 칸마다 S, L, 또는 R가 써져 있는 격자가 있습니다. 당신은 이 격자에서 빛을 쏘고자 합니다. 이 격자의 각 칸에는 다음과 같은 특이한 성질이 있습니다. 빛이 "S"가 써진 칸에 도달한 경우, 직진 programmers.co.kr 1. 주의할 점 - 사이클 여부를 판단해야 한다 - 4방향 탐색을 거친다 2. 구현 - Check[y][x][dir] 배열을 통해 각 (y,x)에 dir방향에서 들어온 적이 있는지 확인한다 - Check[][][] 값이 false면 Dfs()를 통해 해당 지점과 방향에서 시작하여 만드는 사이클을 구한다 - Dfs() 내부..
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 1. 주의할 점 - 최소 피로도 ≥ 소모 피로도 2. 구현 - 최소 피로도를 needEnergy[] 배열에 담는다 - 소모 피로도를 useEnergy[] 배열에 담는다 - check[] 배열을 통해 던전 탐험 유무를 체크한다 - DFS()를 수행하며 남은 피로도가 최소 피로도 이상이며, 탐험하지 않은 던전인 경우, 탐험을 한다 #include..