[코딩테스트 합격자 되기(Java)] 문제 51. 정렬이 완료된 두 배열 합치기★
·
코딩 테스트 정복기/기타
문제이미 정렬이 완료되어 있는 두배열 arr1, arr2을 받아 병합정렬하는 Solution()함수를 구현하세요. 제약조건 arr1과 arr2는 각각 길이가 1 이상 100, 000 이하 입니다.• arr1과ar r2는 각각오름차순으로 정렬되어있습니다.  입출력 예arr1arr2result[1,2,3][4,5,6][1,2,3,4,5,6][1,3,5][2,4,6][1,2,3,4,5,6]풀이 및 코드병합정렬이므로, 이미 정렬 된 arr1과 arr2를 index0부터 값을 비교하여 채워넣으면 된다. import java.io.*;import java.util.*;public class Main { private static long bfs(int n, int target){ if(n == t..
[프로그래머스/level 2] 피로도 - 87946
·
코딩 테스트 정복기/프로그래머스
[level 2] 피로도 - 87946문제 링크구분코딩테스트 연습 > 완전탐색문제 설명XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다.이 게임에는 하루에 ..
[코딩테스트 합격자 되기(Java)] 문제 50. 계수정렬 구현하기★
·
코딩 테스트 정복기/기타
문제인자로 받은 문자열s를 계수정렬로 정렬하여 반환하는 solution() 함수를 구현하세요. 제약조건• string `s`의 길이는 1 이상 10,000 이하입니다. • `s`는 알파벳 소문자로 이루어져 있습니다.  입출력 예sreturnhelloehlloalgorithmaghilmort  풀이 & 코드계수 정렬 또는 카운팅 소트(counting sort):컴퓨터 과학에서 정렬 알고리즘의 하나로서, 작은 양의 정수들인 키에 따라 객체를 수집하는 것.쉽게 말하자면, 정렬된 어떠한 키에따라 빈도를 저장하는 정렬 알고리즘이다. 시간복잡도는 `O(n)`때문에 키가되는 숫자를 알고있어야 하고, 키의 범위가 너무 크지 않아야한다. 위 문제에서는 a~z를 키로하고, String s에 나오는 문자의 빈도를 계산하면 ..
[백준/Gold V] LCS - 9251
·
코딩 테스트 정복기/백준
[Gold V] LCS - 9251문제 링크분류다이나믹 프로그래밍, 문자열문제 설명LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.입력첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.출력첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다. 풀이 및 코드풀이는 아래에 LCS 알고리즘과 함께 정리해두었습니다.[Computer Science/Algorithm] - 최장 공통 부분 수열 (LCS; Longest common subsequ..
[백준/Gold III] 웜홀 - 1865
·
코딩 테스트 정복기/백준
[Gold III] 웜홀 - 1865문제 링크분류벨만–포드, 그래프 이론, 최단 경로문제 설명때는 2020년, 백준이는 월드나라의 한 국민이다. 월드나라에는 N개의 지점이 있고 N개의 지점 사이에는 M개의 도로와 W개의 웜홀이 있다. (단 도로는 방향이 없으며 웜홀은 방향이 있다.) 웜홀은 시작 위치에서 도착 위치로 가는 하나의 경로인데, 특이하게도 도착을 하게 되면 시작을 하였을 때보다 시간이 뒤로 가게 된다. 웜홀 내에서는 시계가 거꾸로 간다고 생각하여도 좋다.시간 여행을 매우 좋아하는 백준이는 한 가지 궁금증에 빠졌다. 한 지점에서 출발을 하여서 시간여행을 하기 시작하여 다시 출발을 하였던 위치로 돌아왔을 때, 출발을 하였을 때보다 시간이 되돌아가 있는 경우가 있는지 없는지 궁금해졌다. 여러분은 백..
[프로그래머스/level 2] 양궁대회 - 92342
·
코딩 테스트 정복기/프로그래머스
[level 2] 양궁대회 - 92342문제 링크성능 요약메모리: 78.3 MB, 시간: 0.29 ms구분코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 12월 04일 04:04:42문제 설명문제 설명카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전 대회 우승자인 라이언에게 불리하게 다음과 같이 정했습니다.어피치가 화살 n발을 다 쏜 후에 라이언이 화살 n발을 쏩니..
[백준/Gold IV] N-Queen - 9663
·
코딩 테스트 정복기/백준
[Gold IV] N-Queen - 9663문제 링크성능 요약메모리: 14672 KB, 시간: 16596 ms분류백트래킹, 브루트포스 알고리즘제출 일자2024년 11월 28일 02:24:26문제 설명N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다.N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N이 주어진다. (1 ≤ N 출력첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 제출 코드백트래킹 조건:2. 같은 행에 퀸이 있을 때3. 대각선 방향에 퀸이 있을 때4. 퀸을 n개 이상 두었을 때 -> 이때는 결과에 1 더해준다.import java.io.*;public class Main { st..
[프로그래머스/level 2] N-Queen - 12952
·
코딩 테스트 정복기/프로그래머스
[level 2] N-Queen - 12952문제 링크성능 요약메모리: 76.9 MB, 시간: 470.74 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 12월 02일 16:44:32문제 설명가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다.예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 서로를 한번에 공격 할 수 없습니다. 체스판의 가로 세로의 세로의 길이 n이 매개변수로 주어질 때, n개의 퀸이 조건에 만족 하도록 배치할 수 있는 방법의 수를 return하는 solution함수를 완성해주세요.제한사항퀸(Queen)은 가로, 세로, 대각선으로 이동..
[프로그래머스/level 2] 전력망을 둘로 나누기 - 86971
·
코딩 테스트 정복기/프로그래머스
[level 2] 전력망을 둘로 나누기 - 86971문제 링크성능 요약메모리: 83 MB, 시간: 11.92 ms구분코딩테스트 연습 > 완전탐색채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 11월 26일 18:27:25문제 설명n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다.송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 retu..