본문 바로가기

코딩테스트187

[Programmers] Lv 2. 가장 큰 정사각형 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(board) { return board.reduce((acc, rows, i, board) => { if (rows.length { if (!j) return; if (column) { board[i][j] = Math.min(board[i - 1][j - 1], board[i - 1][j], board[i][j - 1]) + 1; acc = Math.max(acc.. 2023. 3. 20.
[Programmers] (완전탐색) Lv 2. 전력망을 둘로 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr BFS 이용 const bfs = (graph, pivot, visited, vistedDuplication) => { const queue = [pivot]; let cnt = 0; while (queue.length) { const dest = queue.shift(); if (vistedDuplication[dest]) return Infinity; (visited[dest] = true),.. 2023. 3. 17.
[Programmers] (Summer/Winter Coding(~2018)) Lv 2. 배달 https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS(재귀)로 풀었지만, 32번 테스트가 시간 초과 실패. function solution(N, road, K) { const graph = road.reduce((obj, [p1, p2, t]) => { (obj[p1] = obj[p1] || {}), (obj[p2] = obj[p2] || {}); obj[p1][p2] = obj[p2][p1] = Math.min(obj[p1][p2] ? ob.. 2023. 3. 16.
[Programmers] (2021 Dev-Matching: 웹 백엔드 개발자(상반기)) Lv 2. 행렬 테두리 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(rows, columns, queries) { const arr = [...Array(rows)].map((v, r) => [...Array(columns)].map((v, c) => r * columns + (c + 1)) ); // 먼저 2차원 배열에 값을 초기화한다. return queries.reduce((acc, querie) => { const [x1, .. 2023. 3. 15.
[Programmers] (2020 카카오 인턴십) Lv 2. 수식 최대화 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // 탐색을 통해 ["+", "-", "*"] 경우의 수 추출 const permutation = (operation, visited, priority, max, expression) => { if (operation.length === visited.filter((o) => o).length) { // 총 방문이 연산자 수 만큼 될 경우, const [tempExp, tempPrior] = [[.. 2023. 3. 13.
[Programmers] Lv 2. 택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(order) { let [result, box] = [0, 1]; const stack = []; for (find of order) { while (true) { if (box === find) { ++box; break; } else if (stack.at(-1) === find) { stack.pop(); break; } else { if (box < ord.. 2023. 3. 13.
[Programmers] Lv 2. 줄 서는 방법 https://school.programmers.co.kr/learn/courses/30/lessons/12936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n, k) { const [arr, result, dp] = [ Array.from({ length: n }, (_, i) => i + 1), [], [1, 1, 2], ]; const factorial = (n) => { if (dp[n] !== undefined) return dp[n]; return (dp[n] = n * factorial(n - 1)); };.. 2023. 3. 12.
[Programmers] (2018 KAKAO BLIND RECRUITMENT) Lv 2. [3차] 방금그곡 https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(m, musicinfos) { m = m.replaceAll('C#', 'c').replaceAll('D#', 'd').replaceAll('F#', 'f').replaceAll('G#', 'g').replaceAll('A#', 'a'); return musicinfos.reduce((acc, data) => { const [start, end, TITLE, tem.. 2023. 3. 9.
[Programmers] (2022 KAKAO TECH INTERNSHIP) Lv 2. 두 큐 합 같게 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const sumFunc = (arr) => arr.reduce((acc, cur) => acc + cur, 0); function solution(queue1, queue2) { let [answer, sum1, sum2, idx1, idx2] = [0, sumFunc(queue1), sumFunc(queue2), 0, 0]; const [half, limit] = [(sum1 + sum2) .. 2023. 3. 9.
[Programmers] Lv 2. 숫자 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(x, y, n) { if (x === y) return 0; const dp = Array.from({ length: y + 1 }).fill(Infinity); dp[x] = 0; for (let i = x + 1; i = 0) dp[i] = dp[i - n] + 1; if (!(i % 2)) dp[i] = Math.min(dp[Math.floor(i / 2)].. 2023. 3. 9.