문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 단순히 for문을 중첩해서 사용하면 효율성이 떨어지기 때문에 문제 풀이 방법을 생각했다. 그래서 이 문제는 원의 방정식을 이용해 풀었다. x^2 + y^2 = d^2 인 공식을 이용해 x에 대한 y값이 될 수 있는 범위를 구했고, 이를 이용해 문제를 풀었다. 코드 const solution = (k, d) => { let answer = 0; for(let i=0; i
코딩 테스트
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 문제는 정렬과 XOR, 배열 요소의 합을 얼마나 잘 사용할 수 있는지를 검증하는 문제였던거 같다. 코드 const solution = (data, col, row_begin, row_end) => { let answer = 0; let arr = data.sort((a, b) => a[col-1] === b[col-1] ? (b[0] - a[0]) : a[col-1] ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/159993# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제는 최단 길이를 구하는 문제이기에 BFS가 적절하다 생각해 풀었다. 시작 지점과 레버, 출구 지점을 주어진 맵에서 구하고 문제를 풀이할 BFS 함수를 구현했다. BFS함수를 구현할 때 햇갈렸다고 느낀 부분이 값의 반환 시점이다. 어떤 방밥으로도 도달 하고자 하는 지점까지 갈 수 없을 때, -1을 반환해야하는데 이 -1을 반환하는 타이밍을 정하는 것이 햇갈렸다...
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/81302#fn1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 P는 사람이 앉아있는 의미, X는 파티션, O는 빈 테이블을 의미한다. 이 문제는 멘해튼 거리가 2이하가 되면 해당 시험장은 규정이 지켜지지 않는 곳으로 정한다. 나는 이 문제를 2가지로 나눠 풀었다. 우선 P가 있는 경우와 O가 있는 경우가 있다. P와 O는 상하좌우에 P가 있는지 확인하고 없다면 규정이 잘 지켜지고 있다는 것이다. O의 경우는 상하좌우에 P가 ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12905?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 저장된 값을 사용하는 DP 알고리즘을 이용했다. 표를 순회하며 해당 칸의 숫자가 1이면 좌, 좌 대각선 위, 위 의 숫자 중 가장 작은 수에 1을 더해 재할당 해준다. 이렇게 재할당된 수를 다시 이용하며 DP 알고리즘을 적용한다. 그리고 answer의 값과 해당 칸의 수를 비교한 뒤 큰 값을 answer에 할당해준 다음 반복문이 끝나면..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 방법 이 문제에서 제한 사항을 보게 되면 주어지는 weights의 갯수는 100,000개이다.즉, 이중 for문을 이용하게 되면 100억 번의 시간 복잡도를 갖게되므로 시간초과 오류가 발생할 수 있다.(나는 실제로 이중 for문으로 푸러봤다가 실패했다...) 그렇다면 weights를 순회할 for문은 한개로 제한된 상황에서 어떻게 각 요소를 비교할까? 이는 객체를 이용해 각..