배열인 base와 sample을 인자로 입력 받아 sample이 base의 부분집합인지 여부를 리턴하는 문제 (아래 스니펫들은 문제 풀이 중 부분만 담고 있음) 문제 풀이 순서 오름차순으로 정렬하기 : 뭔가를 비교하는 문제에서 의외로 정렬을 하는 경우가 많은데, 정렬을
세로 길이 2, 가로 길이 n인 2 x n 보드가 있고, 2 x 1 크기의 타일을 가지고 이 보드를 채우는 모든 경우의 수를 리턴.n = 2 이면 2가지 n = 4 이면 5가지 문제풀이 순서1\. 경우의 수를 구할 타일 배치가 어떤 방식으로 이루어지는지 파악 : 타일은
임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 깊이 우선 탐색(DFS)을 하고, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다'깊이 우선 탐색은 맹목적 탐색방법의 하나로 탐색트리의 최근에 첨가된 노드를 선택하고
base와 exponent를 입력받아 거듭제곱을 리턴. base가 밑, exponent가 지수라고 생각하면 된다.base의 범위는 2보다 크거나 같고,exponent는 0보다 크거나 같다.number 타입을 리턴해야 하며, 실제 계산 결과를 94,906,249로 나눈
부분적으로 오름차순 정렬이 된 정수의 배열 rotated와 정수 target 두 인자를 입력 받아 rotated 내 target의 인덱스를 리턴하는 문제 만약 target이 존재하지 않으면 -1을 반환한다. 부분적으로 정렬되었다는 건 0,1,2,3,4 와 같은 형태가
문자열을 입력받아 문자열 내의 모든 괄호의 짝이 맞는지 여부를 리턴.(boolean)혼자서 풀어보다 잘 안 돼서 알고리즘 참고했음. 나는 닫힌 괄호의 개수를 할당한 변수를 만드려고 했는데, 래퍼런스에서는 stack이라는 변수에 배열로 괄호의 상태를 확인한다. opene
드디어 만났다 버블 정렬...부트캠프 시작 전에 들었던 무료 강의에서 버블 정렬을 맞닥뜨린 적이 있었는데 오늘은 데일리 코딩에서 버블 정렬을 직접 구현해보는 시간을 가지게 되었다.테스트는 통과가 되었으나... 래퍼런스를 보니 내가 너무 단순하게 구현한 것 같아서 (+시
길이가 m, n이고 오름차순으로 정렬되어 있는 자연수 배열들을 입력받아 전체 요소 중 k번째 요소를 리턴해야 한다. (실제로 리턴하는 값은 인덱스가 k-1인값이라고 생각하면 됨. 인덱스는 0부터 시작하니까.)arr1, arr2, k가 주어진다. 문제만 봐서는 잘 이해가
간만에 래퍼런스 안 보고 혼자서 수도코드 만들어서 테스트 통과 성공했다! 통과 후 래퍼런스 확인해보니 생각의 골자는 비슷한 것 같다. (나눗셈 이용)uglyNumber라는 수들은 2,3,5로만 나뉘어지는 숫자들인데 1, 2, 3, 4, 5, 6, 8, 9, 10, 12
하나의 집합을 의미하는 문자열을 입력받아 각 문자를 가지고 만들 수 있는 모든 부분집합을 리턴해야 하는 문제.PowerSet 함수에 인자로 들어오는 str은 공백이 없는 알파벳 소문자 문자열이고, 해당 문자열의 부분집합인 문자열들을 요소로 가지는 배열을 반환해야 한다.
정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 하는 문제.삽입 정렬을 구현해야 하며, arr.sort의 사용은 금지된다. 이렇게 구현하면 기본 테스트는 통과가 되지만 callback 함수를 insertionSort 함수의 두번째 인자로 받아서 풀라는
정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴한다. arr.sort 사용은 금지되며 퀵 정렬을 사용해서 해결해야 한다. advanced 조건은 'quickSort 함수의 두 번째 인자로 callback 함수를 받아서, 그 함수의 리턴값을 기준으로 요소들
정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 한다. 병합 정렬을 이용해야 한다고 하는데, 문제의 설명은 아래와 같았다. 🚩 병합정렬N의 길이를 가진 배열 리스트를 1의 길이를 가진 "부분 리스트"가 N개 모인 것으로 취급한다. 인접한 부분 리스트
박스를 최대한 적게 사용해 모든 짐을 옮기려고 할 때, 짐의 무게를 담은 배열 stuff와 박스의 무게 제한인 limit가 매개변수로 주어질 때 모든 짐을 옮기기 위해 필요한 박스 개수의 최소값을 반환하는 함수를 작성하라. (박스에는 최대 2개의 짐 밖에 넣을 수 없고
오랜만에 만난 수학으로 많이 꺾인 마음으로... 알고리즘 문제들 복습 시~작~가위바위보 게임은 2인 이상의 사람이 동시에 '가위, 바위, 보'를 외치고 동시에 가위, 바위 또는 보 중에서 한 가지를 의미하는 손 모양을 내밀어 승부를 결정짓는 게임이다. 세 판의 가위바위
두 문제는 시간이 없어 제대로 살펴보지 못해서 블로깅하면서 찬찬히 살펴보려고 한다. 2차원 N x N 배열을 시계 방향으로 90도 회전시킨 배열을 리턴해야 함. rotateMatrix 함수는 인자로 matrix를 받는데 matrix는 가로 길이(matrixi.lengt
validAnagram이라는 함수는 두 문자열을 파라미터로 받아서 두 문자열이 애너그램 관계인지 확인하여 true, false를 반환하는 함수이다. (알파벳은 소문자인 경우만 고려할 것)예시validAnagram('', '') // truevalidAnagram('aa
네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다.지도는 한 변의 길이가 n인 정사
sumZero라는 함수는 오름차순으로 정렬된 배열을 인자로 받아 합이 0이 되는 첫번째 쌍을 담은 배열을 반환하는 함수이다. 0이 되는 쌍이 존재하지 않으면 -1을 반환한다. countUniqueValues라는 함수는 오름차순으로 정렬된 배열을 전달인자로 받아서 배열
maxSubarraySum 함수는 배열과 정수를 인자로 받는다. 인자로 받은 정수 만큼의 연속한 수를 배열 내에서 더할 때, 가장 큰 숫자를 반환한다.