문제 링크해당 주차 수업이 Recursion에 관한 것이어서 처음에는 재귀로 풀어보려 했는데, 도저히 어려워서 queue를 사용해서 코드를 작성하고 발표를 했다. 큐에서 하나씩 pop해서 pop한 애가 탈락해야할 애가 아니면 다시 queue에 push해줬고, 탈락해야할
재귀를 사용해서 조합을 이용해 배열의 모든 Subset의 XOR값을 구하는 문제이다.배열에서 특정 길이의 Subset을 만들기 위해서는 조합을 사용해야 하는데, 조합 공식은 아래와 같다.이 공식을 사용해서 코드를 작성하면 아래와 같다.
문제링크 각 배열의 원소가 인용된 횟수를 나타내는 배열이 오름차순으로 주어졌을 때, h개의 논문이 최소 h번의 인용이 된, h의 최댓값을 구하는 문제이다. 예를 들어 배열이 [0, 1, 3, 5, 6]으로 주어졌을 때, h가 3이라면, 3개의 논문이 최소 3번 인용
문제링크 순열을 이용해서 배열의 원소들을 모두 이용하여 문자열을 만들었을 때, k번째 문자열을 반환하는 문제이다.
문제풀이1부터 n까지의 길이에서 k개의 숫자의 모든 조합을 구하는 문제이다. n개의 숫자를 사용해서 길이가 k인 combination 생성seq[i]는 seq[i-1]보다 커야 한다. [seq[i-1]+1, n] 사이의 숫자 중에서 seq[i]를 선택한다.
정렬이 된 상태에서 회전된 Array가 주어졌을 때, 주어진 target의 위치를 O(log n)의 시간복잡도로 구해야 하는 문제이다. O(log n)이기 때문에 binary search로 해결해야 하는데, 조건을 어떻게 줄 것인지를 생각하느라 많이 애먹었었다.
"("와 ")"로 이루어진 문자열이 주어졌을 때, 아래 규칙에 따라 해당 배열의 점수를 구하는 문제이다.
스택에 push를 할 배열인 pushed와 스택에서 pop한 결과인 popped 배열이 주어졌을 때, popped 배열이 타당한 배열인지 여부를 반환하는 문제이다.
배열이 주어졌을 때, 배열 안의 모든 원소들의 값이 같아질 때까지 +1 혹은 -1을 해야하는 최소 횟수를 구하는 문제이다. 먼저 주어진 배열을 sorting해서 중간값을 구한 다음에, 배열을 순회하면서 중간값과 해당 원소의 값의 차이를 더해준 값을 반환하면 된다.
배열이 주어졌을 때, 배열의 subset 중에서 배열의 원소들이 증가하는, 가장 긴 subset의 길이를 구하는 문제이다.
숫자가 주어졌을 때, perfect square인 수들의 합으로 해당 숫자를 만들어야 하며, 이때 필요한 숫자의 최소 개수를 구하는 문제이다.
0부터 n-1개의 방이 있고, 해당 방에는 다른 방을 열 수 있는 열쇄의 리스트가 주어질 때, 모든 방을 다 열 수 있는지를 확인하는 문제이다. 0번째 방을 제외한 방들은 모두 잠겨있는 상태이다.재귀를 이용하면 문제를 해결할 수 있다.예를 들어 0부터 3까지의
2차원 좌표에서 바이러스와 벽, 그리고 빈공간이 있을 때, 빈 공간에 3개의 벽을 세워 안전 지역(바이러스가 닿을 수 없는 공간)의 최대값을 구하는 문제이다.
NxN 2차원 배열에서 치킨집을 M개 골라 도시의 치킨 거리를 최소값으로 만드는 문제이다.
주어진 2개의 정점들을 경유하면서 1번 정점에서 N번 정점까지의 최단 경로의 길이를 출력하는 문제이다. 이를 위해 시작점부터 경유지들까지의 거리와, 경유지들부터 N번 정점까지의 거리를 각각 구하여 더 짧은 거리를 출력하는 방식으로 풀었다.
문제링크 문제 조건은 아래와 같다. > 생일이 3월인 여성 전화번호가 NULL이 아닌 경우 회원 ID를 기준으로 오름차순 위 조건들을 적용해서 SQL문을 아래와 같이 SQL문을 작성했다. 그랬더니 아래와 같이 결과가 나오면서 오답이 출력되었다. DATEOFBIRTH 출력 형식을 맞춰줘야 하는 모양이다. DATEFORMAT(DATEOF_BIRTH,...
니니즈 친구들이 징검다리를 건너려고 하는데, 한 친구가 징검다리를 건너면 디딤돌의 숫자가 하나씩 줄어들고, 디딤돌의 숫자가 0이 되면 해당 디딤돌은 건너뛰어야 한다. 한 번에 건너뛸 수 있는 디딤돌의 최대 칸 수가 k로 주어질 때, 최대 몇 명까지 징검다리를
이 문제를 이렇게 복잡하게 풀어야 할까..? 여튼 두 번째 예시를 바탕으로 시작해보겠다. 우선 아래와 같이 정보를 저장해주었다. 출발지 공항 이름을 Map에 넣어 고유 idx와 함께 Map에 저장하였고, 고유 idx를 바탕으로 vector의 각 row에
백준 알고리즘 문제를 디버깅하기 위해 터미널에 테스트케이스를 일일이 복붙하느라 시간을 다 쓰는 당신..!에게 추천드립니다