코딩테스트

😈 이중우선순위큐 📗 문제 설명이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다.명령어수신 탑(높이)I 숫자큐에 주어진 숫자를 삽입합니다.D 1큐에서 최댓값을 삭제합니다.D -1큐에서 최솟값을 삭제합니다.이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요.👀 제한사항operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다.operations의 원소는 큐가 수행할 연산을 나타냅니다.원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만..
😈 그 시간 사무실에 몇 명이 있었나? 아마존 면접문제 출처: http://www.careercup.com/question?id=13817668 📗 문제 설명 A사무실에는 특정일자의 출퇴근 시간이 기록된 거대한 로그파일이 있다고 한다. 파일의 형식은 다음과 같다. (한 라인에서 앞부분은 출근시간(HH:MM:SS), 뒷부분은 퇴근시간이다) 09:12:23 ~ 11:14:35 10:34:01 ~ 13:23:40 10:34:31 ~ 11:20:10 특정시간을 입력(예:11:05:20)으로 주었을 때 그 시간에 총 몇 명이 사무실에 있었는지 알려주는 함수를 작성하시오. 💎나의 풀이 아마존에 입사를 해보자. 우선 문제에서 주어진 형식을 string 타입으로 정해주자. let log = `09:12:23 11:14..
😈 코딩 도장 📗 문제 설명 20150111을 출력합니다. 4가지 기준만 만족하면 됩니다. 👀 제한사항 코드 내에 숫자가 없어야 합니다. 파일 이름이나 경로를 사용해서는 안됩니다. 시간, 날짜 함수를 사용해서는 안됩니다. 에러 번호 출력을 이용해서는 안됩니다. 💎나의 풀이 숫자를 사용하지 말고 숫자를 출력이라니 문제가 흥미로운 문제다. 생각을 해보자 2진법부터 차근차근 변환해 본다면 언젠가는 알파벳만 나올 것이다. 현재의 수를 진법 변환시키는 방법은 toString을 사용하면 된다. let number = 20150111 console.log(number.toString(2)) // "1001100110111011101011111" console.log(number.toString(16)) // "133..
😈 짝지어 제거하기 📗 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 👀 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소..
😈 다음 큰 숫자 📗 문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다. 조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다. 예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다. 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 👀 제한사항 n은 1,000,000 이하의 자연수 입니다. 📃 입출력 예 n result 78 83 15 23 💬입출력 예 설명 입출력 예 설명 #1 문제 예시와 같습니다. 입출력 예..
😈 크기가 작은 부분 문자열 📗 문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 👀 제한사항 본문과 같습니다. 입출력 예 설명 #2 p의 길이가 1이므로 t의 부분문자열은 "5", "0", 0", "2", "2", "0", "8", "3", "9", "8", "7", "8"이며 이중 7보다..
😈 피보나치 수 📗 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 👀 제한사항 n은 2 이상 100,000 이하인 자연수입니다. 📃 입출력 예 n return 3 2 5 5 💬입출력 예 설명 입출력 예 설명 #1 피..
😈 약수의 개수와 덧셈 📗 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 👀 제한사항 1 ≤ left ≤ right ≤ 1,000 📃 입출력 예 left right result 13 17 43 24 27 52 💬입출력 예 설명 입출력 예 설명 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1, 13 2 14 1, 2, 7, 14 4 15 1, 3, 5, 15 4 16 1, 2, 4, 8, 16 5 17 1, 17 2 따라서, 13 + 14 + 15 - 16 ..
수빡이
'코딩테스트' 태그의 글 목록