본문 바로가기

level43

[ALGORITHM] LEVEL4 2021 카카오 채용연계형 인턴십 - 미로 탈출 https://school.programmers.co.kr/learn/courses/30/lessons/81304 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각의 흐름 최단거리 -> 다익스트라 사용 함정 활성화, 비활성화만 구분하면 되지 않을까?(실패) 만약 함정 양쪽이 활성화 되어 있는 경우 -> 함정 활성화가 되어있지만 원래 방향으로 이동하기 때문 함정 활성화 상태를 비트마스킹으로 저장하자 way에 정방향 간선은 true로 역방향 간선은 false로 저장을 하자 일반 노드와 비활성 함정 노드는 false로 같은 취급 활성 함정 노드만 true로 .. 2023. 1. 4.
[ALGORITHM] LEVEL4 2022 KAKAO TECH INTERNSHIP - 행렬과 연산 c++ https://school.programmers.co.kr/learn/courses/30/lessons/118670# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주의할 점 단순히 vector의 원소의 위치를 옮기는 경우 O(n)이 되어 효율성을 통과하지 못한다. 문제의 핵심은 맨 앞과 맨 뒤의 원소만 넣고 빼면 된다. 앞 뒤로 넣고 뺄 수 있는 list혹은 deque를 사용하자. 단순히 내부를 deque로 하는 경우 Rotate는 괜찮을 수 있으나 ShiftRow에서 inside.push_front(inside.back())을 하는 과정에서 insid.. 2022. 12. 16.
[ALGORITHM] LEVEL4 - 쌍둥이 빌딩 숲 https://school.programmers.co.kr/learn/courses/30/lessons/140105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각의 흐름 빌딩의 각 크기별 갯수는 2개 이며, 작은 빌딩 사이에 큰 빌딩은 들어가지 못한다. 그러면 작은 순이 아닌 큰 빌딩 순으로 넣는다면? 작은 빌딩을 먼저 놓는 경우 이후에 놓을 빌딩이 무조건 보이므로 계산이 햇갈릴 것 같아 역순으로 진행 보이는 경우와 안보이는 경우로 나눠서 진행 DP[현재 빌딩 높이][보이는 빌딩의 갯수] DP[현재][갯수] = DP[현재+1(이전)][갯수] + DP.. 2022. 12. 3.