문제https://school.programmers.co.kr/learn/courses/30/lessons/176962# 풀이이 문제는 구현 문제이며 필자는 과제를 담고 있는 배열을 큐를 사용해 사용했고, 남아있는 과제에 스택을 적용해 사용했다. 큐를 사용해 진행중인 과제를 구현해 순서에 맞게 진행되는 과제의 흐름을 직관적으로 활용할 수 있으며, 남아있는 과제에 스택을 적용해 나중에 들어온 과제부터 수행한다는 제한 사항을 충족할 수 있다. 첫번째 풀이는 1시간 정도 걸렸는데, 6번과 9번 케이스에서 계속 틀려서 30분은 고민을 했다. // stack을 이용해 멈춘 과제 저장 후 하나씩 빼내면서 잔업 진행function solution(plans) { const newPlans = plans.map(..
프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이해당 문제는 정적분을 구해야 하는 문제인데 정적분 공식을 이용해 풀지 않고, 각 지점별 넓이를 구한 뒤 범위에 존재하는 영역의 넓이를 전부 더해 답을 도출한다. 간단한 구현 문제였다. 코드function solution(k, ranges) { const arr = [k]; const size = []; const answer = []; while (k > 1) { if ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12971# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이문제의 첫 인상은 0번 요소와 1번 요소를 선택했을 때 1개씩 건너뛰어 선택한 조합을 구하면 되지 않을까 라는 생각을 했다. 하지만, 이 경우 한개를 건너뛴 선택이 더 클 수 있다고 생각했다. 그래서 다른 접근법을 생각해봤다. 우선 문제의 제한 조건을 보고 2중 이상의 for문을 사용한 접근법은 시간복잡도상 초과될 것이라 생각해 DP를 이용해 메모이제이션을 구현해 풀이를 진행했다. 문제의 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12952 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이체스의 퀸이 움직일 수 있는 칸의 유형을 보자.퀸이 움직일 수 있는 범위는 4방향의 직선과 4방향의 대각선을 움직일 수 있다. 그렇기 때문에 N-Queen 문제에서는 모든 퀸의 위치에서의 8방향에서 또다른 퀸이 존재하지 않는 경우의 수를 구해야 한다. 위의 설명을 조금 생각해 본다면 한 줄에 하나의 퀸을 놓을 수 있다.(직선에 중복되는 퀸이 있으면 안된다)이 조건을 만족하기 위해서는 가로줄에..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이해당 문제는 주어진 숫자 배열에 대응하는 새로운 숫자 배열을 만들어 숫자들의 크기 비교후 대응하는 숫자들의 크기 비교를 하여 큰 숫자 들의 수를 최대로 만드는 문제이다. A와 B 숫자 배열이 주어지는데, A 숫자 배열의 숫자들 보다 큰 숫자들의 개수의 최대값을 구하면 되는 문제다. 이때 A 배열은 고정되어 있으며 B 배열만 순서를 바꿀 수 있다. 이는 A 배열에 있는 숫자들의 대응하는 숫자를 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이해당 문제는 이전에 풀었던 야근 지수 문제에서 발견한 법칙이 그대로 적용된다. 각 수의 제곱의 합은 모든 수의 표준편차가 가장 적을 때가 가장 크다. 저번에 풀었던 문제에서는 주어지는 값들을 저장해 정해진 수 만큼 빼며 최적의 수를 찾았지만, 이번 문제는 특정 값을 N가지 수들의 합을 만족하고 제곱의 합이 가장 큰 수를 찾아야 한다. 이런 문제는 나눈 값과 나머지 값을 이용해 풀이가 가능했다..