처음 시도했던 방식은 처음부터 냅다 for문을 돌려버리는 방식이었기 때문에 효율성 테스트에서 시간초과가 떴다.구글링을 통해 힌트를 얻고 풀이 방식을 아래와 같이 바꿔 작성했다.stack이라는 빈 배열 선언for문을 통해 현재 문자와 stack의 마지막 문자를 비교같다면
규칙에 맞아 통과한 단어들을 담아놓을 배열 array와 최종 결과를 담을 배열 result 선언checkFunc -> 규칙에 맞는지 판단하기 위한 함수규칙에 맞지 않는 3가지 경우(return 0)단어의 길이가 1인 경우array 배열에 이미 있는 경우현재 단어의 첫
전체 타일의 개수 => brown+yellow변수 h, w는 각각 세로와 가로 크기for문에서 h를 1씩 증가시키면서 count와 나누어 떨어지는 경우에 가로의 크기 구함갈색 타일은 바깥쪽 1줄 둘러싸고 있으므로 가로 세로 각각 양쪽 타일 2개씩 빼고 곱하면 노란색 타
처음에는 효율성을 고려하지 못하고 limit - 40 이상인 사람들을 배열에서 제거하고 나머지 배열 요소를 정렬한 후 이중 for문을 통해 조건이 충족하는 경우에 count를 구하는..방식을 통해 해결하려 했다.people 배열은 최대 50,000명이 담길 수 있는 점
a번 참가자가 한 게임을 진행할 때마다(이길 때마다) 다음 라운드에서 전 라운드 참가 번호를 2로 나눈 번호를 부여받는다.홀, 짝 구분할 것 없이 짝지어 경기를 하는 참가자들은 이겼을 때 부여받는 번호가 같다.Math.ceil()을 통해 a와 b가 같은 라운드에서 만날
문제 코드 풀이 a, b의 최소공배수 = a * b / a, b의 최대공약수 임을 이용 배열을 순회하며 두 수를 차례대로 뽑아 최소공배수를 구한다. 최대공약수를 구하는 재귀함수 getGcd()를 반복한다. 예전에 최대공약수, 최소공배수 문제를 풀어본 적이 있어서
이 문제는 대놓고 dp로 풀어라!! 하고 있다.for문을 돌면서 배열 dp에 저장해놓은 값을 반복해서 사용하기 때문이다. 단순 재귀함수를 이용하여 계산하면 반복되는 결과를 얻기 위해 여러번 함수를 호출하여 비효율적이기 때문에 반복적으로 사용할 결과를 배열에 저장해놓는다
discount 배열과 want 배열을 이중 for문에서 각각 순회하면 간단하게 풀리는 문제이다.number 배열의 모든 원소의 합을 통해 구매해야 하는 상품의 총 개수를 구하고해당 개수만큼 discount 배열을 잘라서(slice) want의 각 요소마다 필요한 개수
주어지는 문자열 s의 길이 x칸만큼 회전시키기 때문에 처음부터 문자열 s를 연속으로 두 개 합쳐놓고 한 칸씩 옆으로 이동하며 문자열을 잘라 for문을 돌렸다. \[{}]와 같이 중첩되어 있는 경우를 고려하여 이중 for문을 순회한다. 하나의 sliceArr에 \[],
업로드중..queue라는 배열 선언 후, 주어지는 operations 배열은 순회하면서 각 요소마다 명령어, 데이터를 조건에 따라 배열에 추가하거나 함수를 실행한다.JavaScript는 힙(Heap) 자료구조를 제공하지 않아 이렇게 배열로 단순하게 풀었지만, heap으
while문에서 주어진 시간 n을 다 쓸 때까지 배열 works를 순회하는 방식으로 변경했다. 배열을 순회하며 최댓값보다 크거나 같은 값을 찾아 1씩 감소시키는 방식이기 때문에 works의 첫 번째 요소가 최댓값임은 변하지 않는다. 이로써 반복적으로 배열을 정렬할 필요
진출 지점을 기준으로 routes 배열을 정렬하면 routes를 순회하며 만나는 요소의 진출 지점은 이전 요소의 진출지점보다 무조건 뒤에 위치하게 된다.그렇기 때문에 진입 지점이 마지막으로 설치된 카메라의 위치보다 앞인지/뒤인지 판단하여 앞이면 마지막으로 설치된 카메라
어떤 방식으로 풀어야할 지 오래 고민한 문제는 아니지만 주어진 조건을 빠짐없이 고려하고, 상황에 맞게 객체에 접근+수정하는 과정에서 console.log를 여러번 출력해보며 풀어본 문제이다.1) 총 재생 횟수가 많은 장르부터 수록2) 같은 장르 내에서 재생 횟수가 많은
문제 풀이 문제에서 최단거리를 구하는 목적에 맞게 보자마자 냅다 sources를 순회하는 while문, sources의 각 원소별 queue에 따라 순회하는 while문을 중첩하여 코드를 작성했다. 게다가 배열 roads은 변하지 않는 경로 관련 값들인데 왜 처음에