카카오

문제https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제는 하드한 구현 문제이다. key가 되는 배열의 크기를 (자물쇠의 크기 * 3) - 2 크기로 만들어 주어 자물쇠가 배열안에 들어가 체크가 가능하게 만들어 주어야 한다. 이는 열쇠가 자물쇠 밖으로 이동해도 된다는 조건을 구현한 것이다. 또한 열쇠의 회전도 구현해야 한다. 회전의 경우 배열 회전 문제에서 많이 봤던 로직을 이용하면 되는데, 열쇠의 가로줄이 새로운 열쇠 배열의 세로줄이 된다..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이번 문제는 단방향 그래프를 이용해 탐색을 진행할 것이다. 양방향 그래프 탐색을 생각도 해봤지만, 양방향을 사용하게 되면 모든 경로를 다시 처리해야하는 번거로움이 있기 때문에 단방향 그래프를 이용했다. DFS 알고리즘을 적용했으며, 각 탐색시 현재 위치, 양의 수, 늑대의 수, 방문할 노드를 전달한다. 이때 알고 가야하는 로직이 있는데, 방문할 노드를 결정할 때 방문할 노드에 있는 현재 노드를 현재 노드의 자식 노드들로 바꿔주어야 한다. 그래야지 중복으로 노드를 방문하지 않고 완전탐색을 진행할 수 있기 ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/81303# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이이 문제.... 쉽지 않았다...처음에는 Map 객체를 이용해 구현했는데, 테스트 케이스는 통과하지만 정답은 아니였다.function solution(n, k, cmd) { const map = new Map(); const del = []; for (let i = 0; i k + 1) { if (map.get(k + 1) !== 'X') { while (..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이우선 이 문제를 만든 카카오에 대해 크나 큰 존경이 들었다. 이게 참... 확실히 굉장한 사람들이 모인 집단같다.... 이 문제를 처음 봤을 때는 브루트 포스를 이용해 문제를 풀어 정확도는 전부 맞았지만, 효율성에서 통과되지 않았다. 이 문제의 효율성 테스트를 통과하기 위해서는 누적합 알고리즘을 이용해야한다.  문제는 필자는 이 사실을 정말 알지도 못했기 때문에 긴 시간동안 풀지 못해 풀이를 설명하는 글을 참고했다. 1차원 배열의 누적합을 이용해 풀이해 [2, 3, 3, 1]의 배열에서 1번 인덱스 부터..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이수학적으로 접근식을 생각하며 괜찬은 문제이다. 이 문제의 답은 결국 탑승 가능한 마지막 시간을 출력해야하기 때문에 대기 인원과 현재 시간을 중점으로 생각하면 점화식이 나오게된다. 시간을 오름차순으로 정렬했으며 각 시간마다 승객들을 탑승가능 인원수 만큼 shift() 해주었으며, 마지막 타임에 대기 인원의 유무와 대기 인원이 온 시간을 종합하여 답을 도출했다. 코드function solution(n, t, m, timetable) { const arriveTimes = Array.from({ length..
문제https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  풀이각 영단어를 배열에 넣은 뒤 영단어를 기준으로 split 메서드를 이용해 문자열을 나눈다. 이렇게 나누어진 문자열을 join 메서드를 이용해 숫자(문자열이 배열에서 갖고 있는 인덱스)로 다시 연결해준다. 코드const solution = (s) => { const arr = [ "zero", "one", "two", "three", "four", "five"..
58청춘
'카카오' 태그의 글 목록