알고리즘 테스트 ⏲/프로그래머스
-
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(relation) { const getCombinations = (arr, num) => { // 조합 구하기 const combs = []; if (num === 1) return arr.map(v => [v]); arr.forEach((fixed, index, origin) => { const rest = origin.slice(index + 1); const combinations = getCombinations(rest, num - 1)..
[KAKAO RECRUITMENT] 후보키 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(relation) { const getCombinations = (arr, num) => { // 조합 구하기 const combs = []; if (num === 1) return arr.map(v => [v]); arr.forEach((fixed, index, origin) => { const rest = origin.slice(index + 1); const combinations = getCombinations(rest, num - 1)..
2023.04.06 -
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(p) { if (!p) return "" let [u, v] = ["", ""] let [a, b] = [0, 0] for (let i = 0; i < p.length; i += 1) { p[i] === `(` ? ++a : ++b u += p[i] if (a === b) { v = p.slice(i + 1, p.length) break } } if (u[u.length - 1] === `)`) return u + solution(v) else..
[KAKAO RECRUITMENT] 괄호 변환 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(p) { if (!p) return "" let [u, v] = ["", ""] let [a, b] = [0, 0] for (let i = 0; i < p.length; i += 1) { p[i] === `(` ? ++a : ++b u += p[i] if (a === b) { v = p.slice(i + 1, p.length) break } } if (u[u.length - 1] === `)`) return u + solution(v) else..
2023.04.05 -
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(topping) { let result = 0 let [lCnt, rCnt] = [1, 0] let [lArr, rArr] = [Array(topping.length).fill(0), Array(topping.length).fill(0)] // 초기 값 세팅 lArr[topping[0]] += 1 for (let i = 1; i < topping.length; i += 1) { if (!rArr[topping[i]]) rCnt += 1 rArr..
[프로그래머스] 롤케이크 자르기 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(topping) { let result = 0 let [lCnt, rCnt] = [1, 0] let [lArr, rArr] = [Array(topping.length).fill(0), Array(topping.length).fill(0)] // 초기 값 세팅 lArr[topping[0]] += 1 for (let i = 1; i < topping.length; i += 1) { if (!rArr[topping[i]]) rCnt += 1 rArr..
2023.04.03 -
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(prs, location) { let now = 0 prs[location] = prs[location].toString() while (prs.length) { const p = prs.shift() if (p < Math.max(...prs)) prs.push(p) else { if (typeof p === "string") return ++now ++now } } } 구현 로직 (Queue) 1. 요청한 문서만 어떤 것인지를 구분하기 위해..
[프로그래머스] 프린터 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(prs, location) { let now = 0 prs[location] = prs[location].toString() while (prs.length) { const p = prs.shift() if (p < Math.max(...prs)) prs.push(p) else { if (typeof p === "string") return ++now ++now } } } 구현 로직 (Queue) 1. 요청한 문서만 어떤 것인지를 구분하기 위해..
2023.04.02 -
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(numbers, target) { let result = 0 const dfs = (idx, accr) => { if (idx === numbers.length) return accr === target ? ++result : 1 dfs(idx + 1, accr + numbers[idx]) dfs(idx + 1, accr - numbers[idx]) } return dfs(0, 0) || result } 구현 로직 (DFS) 1. 재귀형 DFS..
[프로그래머스] 타겟 넘버 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 통과) function solution(numbers, target) { let result = 0 const dfs = (idx, accr) => { if (idx === numbers.length) return accr === target ? ++result : 1 dfs(idx + 1, accr + numbers[idx]) dfs(idx + 1, accr - numbers[idx]) } return dfs(0, 0) || result } 구현 로직 (DFS) 1. 재귀형 DFS..
2023.04.02 -
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 실패) function solution(people, limit) { people = people.sort() let result = 0 let [s, e] = [0, people.length - 1] while (s
[프로그래머스] 구명보트 풀이 / JavaScript프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작성 코드 (1차 시도 / 실패) function solution(people, limit) { people = people.sort() let result = 0 let [s, e] = [0, people.length - 1] while (s
2023.04.01