본문 바로가기

코딩테스트187

[Programmers] Lv 2. 숫자 카드 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const divide = (cur, target) => { let pivot = cur[0]; while (pivot) { if (cur.every((num) => !(num % pivot)) && !target.some((num) => !(num % pivot))) return pivot; --pivot; } return 0; }; function solution(arrayA, arrayB).. 2023. 4. 4.
[Programmers] Lv 2. 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(book_time) { let [rooms, livinig, empty] = [0, [], []]; const GetTime = (n) => Number(n[0]) * 60 + Number(n[1]); book_time = book_time.map(([entrance, leave]) => [GetTime(entrance.split(":")), GetTime(lea.. 2023. 4. 3.
[Programmers] (그리디 or 완전탐색) Lv 2. 마법의 엘리베이터 https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(storey) { storey = storey.toString(); let result = Infinity; (dfs = (pivot, acc, add) => { if (pivot < 0) { result = Math.min(result, acc + add); return result; } const num = parseInt(storey[pivot]) + add.. 2023. 3. 31.
[Programmers] Lv 0. 옹알이 https://school.programmers.co.kr/learn/courses/30/lessons/120956 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr const solution = (babbling) => babbling.filter((el, idx) => !["aya", "ye", "woo", "ma"].reduce((acc, t) => acc -= (el.indexOf(t) != -1 && acc >= t.length) ? t.length : 0, el.length)).length; GitHub : https://github.com/dev.. 2023. 3. 28.
[Programmers] (2019 KAKAO BLIND RECRUITMENT) Lv 2. 후보키 https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr // 조합 const getCombination = (elements, pick) => { if (pick === 1) return elements.map((elem) => [elem]); const combinations = []; elements.forEach((element, index) => { const smallerCombinations = getCombination(elements.s.. 2023. 3. 28.
[Programmers] (재귀) Lv 2. 하노이의 탑 https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(n) { let answer = []; // 하노이의 탑 공식 // 1. A기둥의 (n-1)번째 원판을 B기둥으로 이동시킨다. // 2. A기둥의 n번째 원판을 C기둥으로 이동시킨다. // 3. B기둥의 (n-1)번째 원판을 C기둥으로 이동시킨다. const hanoi = (n, start, mid, end) => { if (n === 1) answer.push([.. 2023. 3. 28.
[Programmers] Lv 2. 무인도 여행 https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(maps) { const answer = [], [row, col] = [maps.length, maps[0].length], [dirX, dirY] = [[0, 0, -1, 1], [-1, 1, 0, 0]], visited = Array.from(Array(row),() => new Array(col).fill(false)); const dfs = (x, y) .. 2023. 3. 28.
[Programmers] (2020 KAKAO BLIND RECRUITMENT) Lv 2. 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(s) { let answer = s.length; for (let i = 1; i 1 ? cnt : "")}${word}`; (cnt = 1), (word = temp); if (idx >= s.length) str += temp; } } if (cnt > 1) str += `${cnt}${word}`; answer = Math.min(str.length, answ.. 2023. 3. 26.
[Programmers] (Summer/Winter Coding(2019)) Lv 2. 멀쩡한 사각형 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 직사각형의 대각선이 가로지르는 사각형들은 일정한 패턴이 반복된다. 이 패턴이 반복되는 횟수가 가로 세로의 GCD -> GCD(12, 8) = 4 - 이 패턴의 가로 세로 길이가 각각 w / gcd, h / gcd 이다. -> 8 / 4 = 2, 12 / 4 = 3 - 대각선이 지나는 칸은 한줄에 1칸 ~ 2칸 존재할 수 있다. - 대각선이므로 세로줄기준 최소 1칸은 차지할수 밖에 없다. -> .. 2023. 3. 24.
[Programmers] (2021 카카오 채용연계형 인턴십) Lv 2. 거리두기 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/81302#fnref1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(places) { return places.reduce((acc, data) => { // 굳이 완전 탐색을 써서 모든 경로를 찾아 itv를 비교하는 것보단, // itv가 2인 데이터인것들만 추출해서 그 사이 경로에 X가 있는지 체크하는 게 더 효율적이라 판단. const peoples = []; // P인 데이터만 담아둘 배열 data.forEach.. 2023. 3. 23.