Lucky Charms Clover

⚙️ 코딩테스트

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 2주차 코딩테스트 : 문자열 나누기

📌 문제 📌 입력 📌 출력 📌 예제 입출력 📌 풀이 알아야 하는 것 Set slice indexOf 구할 것 부분 문자열 구하기 0부터 i까지, i부터 j까지, j부터 끝까지 총 3가지 부분으로 slice를 사용해 나눈다. i의 범위는 1부터 시작하고, j의 범위는 i+1로 시작한다. 그래야 abcd의 경우 a, b, cd가 나오게 되고, 이후에 a, bc, d 이런 식으로 나온다. (이중 for) 부분 문자열의 중복을 제거하고 사전 순으로 정렬하기 부분 문자열 그 자체를 넣을 배열 result와 별개로 중복을 제거할 Set을 만들어둔다. 이 Set에 위에서 자른 3가지 부분을 각각 add해서 더해준다. Set으로는 정렬할 수가 없기 때문에 전개 구문이나 Array.from 같은 메서드로 배열화 시킨다...

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 1주차 코딩테스트 : 이진수 정렬

📌 문제 N개의 10진수 정수가 주어진다. 플레이어에게 정수를 그냥 정렬하는 것은 너무 쉽기 때문에, 아래 기준에 따라 정수를 정렬하기로 한다. 10진수 정수를 2진수로 나타냈을 때, 2진수에 포함된 N의 개수를 기준으로 내림차순 정렬한다. 1의 개수가 같다면, 원래 10진수를 기준으로 내림차순 정렬한다. 플레이어가 정수를 잘 정렬했을 때, 앞에서 K번째에 위치한 수는 어떤 수가 될지 구해보자. 📌 입력 첫째 줄에 주어지는 정수의 수 과 플레이어가 찾으려는 정수의 위치 가 공백을 두고 주어진다. 둘째 줄에 정수 a1, a2, ..., aN 이 공백을 두고 주어진다. 1 ({ value, binaryCount: binaryCounts[index] })); // 1의 개수를 기준으로 내림차순 정렬, 1의 개..

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 1주차 코딩테스트 : 완벽한 햄버거 만들기

📌 문제 구름 햄버거는 다양한 재료를 사용하여 만들어서 맛있기로 유명하다. 구름 햄버거는 N개의 재료를 순서대로 쌓아서 만들고, 구름 햄버거의 맛은 사용된 모든 재료의 맛의 정도를 더한 값이다. 완벽한 구름 햄버거를 만들기 위해서는 맛의 정도가 가장 높은 재료를 기준으로 위랑 아래로 갈수록 재료의 맛의 정도가 감소하거나 같아야 한다. 플레이어는 N개의 재료를 순서대로 쌓아서 구름 햄버거를 하나 만들었다. i번째로 쌓은 재료의 맛의 정도가 ki 라고 할 때, 플레이어가 만든 구름 햄버거의 맛을 구해보자. 만약 플레이어가 완벽하지 않은 구름 햄버거를 만들었다면 0을 출력한다. 📌 입력 첫째 줄에 구름 햄버거에 들어가는 재료의 개수 N개가 주어진다. 그다음 줄에 플레이어가 햄버거를 만들 때 쓴 재료의 맛의 정..

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 1주차 코딩테스트 : 합 계산기

📌 문제 보통의 계산기는 한 번에 하나의 계산 결과만 나타낼 수 있다. 그래서 여러 개의 계산 결과가 필요한 경우에는 이전 계산 결과를 따로 기록해 둬야 하는 번거로움이 있었다. 플레이어는 이러한 점을 해결하기 위해서 합 계산기를 만들었다. 합 계산기는 여러 개의 계산식을 입력받은 뒤, 각각의 계산 결과를 모두 합해서 출력하는 기능을 가지고 있다. 합 계산기에 입력할 수 있는 계산식은 아래 조건을 만족해야 한다. 계산식은 형태이다. 에는 더하기, 빼기, 곱하기, 나누기의 네 가지 사칙 연산 기호가 들어갈 수 있다. 이때, 나눗셈 결과의 나머지는 버린다. 합 계산기에 입력할 개의 계산식이 주어질 때, 합 계산기의 출력 결과를 구해보자. 📌 입력 첫째 줄에 식의 개수 T가 주어진다. 다음 T개의 줄에는 계산..

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 1주차 코딩테스트 : 프로젝트 매니징

📌 문제 플레이어는 구름 프로젝트의 일정을 관리하는 PM(프로젝트 매니저)이자 유일한 개발자다. 현재 구름 프로젝트를 완수하기 위해서는 개의 기능 개발이 추가로 필요하다. 각 기능에는 1 번부터 N 번까지 번호가 붙어 있고, i번째 기능을 개발하는 데는 Ci분의 시간이 걸린다. 플레이어는 프로젝트를 기한 안에 끝내기 위해 철야 작업에 들어갔다. 플레이어가 철야 작업을 시작한 시각은 시 분이다. 플레이어는 1번 기능부터 순서대로 개발을 진행하고, 한 기능 개발을 끝마치면 바로 다음 기능의 개발을 시작한다. 플레이어가 모든 기능 개발을 끝마친 시각을 구해보자. 📌 입력 첫째 줄에 필요한 기능의 개수 N이 주어진다. 둘째 줄에 두 정수 T, M 이 공백을 두고 주어진다. 이는 현재 시각이 T시 M분임을 의미한..

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 1주차 코딩테스트 : 운동 중독 플레이어

📌 문제 근력 운동을 할 때, 1회에 최대한으로 들 수 있는 무게를 1RM 이라고 한다. 본인의 1RM 이 얼마나 되는지를 알아야 효율적인 운동 방식을 고를 수 있어 을 측정하는 것은 무척 중요하다. 그러나 무작정 무거운 무게를 들어서 측정하는 방식은 다칠 위험이 크므로, 보통은 다양한 공식을 사용해서 1RM 을 추정한다. 최대 무게가 아닌 적당한 무게를 몇 번 반복해 들었나를 가지고 내가 한 번에 들 수 있는 최대 무게를 추정하는 식이다. 이번 문제에서는 아래와 같은 공식을 사용한다. 는 W 무게, R 은 반복 횟수를 의미한다. 1RM = W * (1 + R/30) 최근에 운동을 시작한 플레이어는 본인의 운동 기록을 바탕으로 1RM을 계산하려고 한다. 플레이어가 스쿼트 한 세트에서 들어올린 무게와 반복..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 2 : 숫자의 표현

📌 문제 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 📌 제한사항 n은 10,000 이하의 자연수 입니다. 📌 입출력 예 n result 15 4 📌 풀이 알아야 하는 것 슬라이딩 윈도우 연속된 구간 내에서 어떤 조건을 만족하는 부분 구간을 탐색하는 기법 구할 것 특정 범위에서의 합 function solut..

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 2 : 게임 맵 최단거리

📌 문제 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영으로 가는 두 가지 방법을 나타내고 있습니다. 첫 번째 방법은 11개..

⚙️ 코딩테스트

[JavaScript] 백준 코딩테스트 1158. 실버 4 : 요세푸스 문제

📌 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 📌 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 📌 출력 예제와 같이 요세푸스 순열을 출력한다. 📌 예제 입출력 📌 풀이 알아야 하는 것 큐 먼저 들..

⚙️ 코딩테스트

[JavaScript] 백준 코딩테스트 10866. 실버 4 : 덱

📌 문제 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 개수를 출력한다. empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경..

썸머몽
'⚙️ 코딩테스트' 카테고리의 글 목록 (3 Page)