카카오인턴십

    [JS] 동굴탐험 (2020 카카오인턴십)

    어렵고 까다로운 그래프 문제였다. https://school.programmers.co.kr/learn/courses/30/lessons/67260 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제부터가 길고 복잡하기에 문제를 간략화할 필요가 있다. 결국 문제의 핵심은 "모든 노드를 방문할 수 있는가?"이다. 또다른 핵심은 A->B처럼 B노드에 방문하기 위해 A를 먼저 방문해야 하는 경우가 있지만 "중첩되지 않는다" 가 중요 포인트이다. 즉 특정 노드 N은 아무것도 아니거나, 방문하기 위해 선방문해야하거나, 후방문 해야한다. 문제를 해결한 방법을 설명하..

    [JS] 산 모양 타일링 (카카오 겨울 인턴십)

    dp를 활용하여 해결할 수 있는 문제이다. https://school.programmers.co.kr/learn/courses/30/lessons/258705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이런 문제는 규칙을 찾는것이 중요하다. 해당문제와 같은 경우 조각이 추가되는 케이스가 2개다. 윗면이 있거나 없거나.. 잘생각해보면 윗면이 있는 경우는 이렇게 생각할 수 있다. 먼저 지금 추가되는 블럭을 i번째라고 생각해보자. 지금 추가한 3가지 블럭은 dp[i-1] 번째까지 블럭을 전혀 침범하지 않는다. 따라서 dp[i-1] * 3을 해주어서 경우의 ..