알고리즘/programmers 176

[Programmers] 파괴되지 않은 건물

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이차원 부분합을 이용하는 재밌는 문제였습니다. 저도 처음 보는 유형이라 카카오 테크 페이지 해설을 참고하여 코드를 작성했습니다. https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ 2022 카카오 신입 공채 1차 온라인 코딩테스트 for Tech developers 문제해설 지난 2021년 9월 11일 토요일 오후..

알고리즘/programmers 2022.09.27 (1)

[Programmers] 코딩 테스트 공부

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP 문제였습니다. 알고리즘은 아래와 같습니다. 1. 알고력과 코딩력을 기준으로 cache 배열을 선언한 뒤 -1로 초기화합니다. 2. 주어진 문제들 중 요구하는 최대 알고력과 최대 코딩력을 구합니다. 3. 문제에서 요구하는 값은 주어진 알고력과 코딩력을 시작으로 모든 문제를 풀 수 있는 알고력과 코딩력을 얻을 때까지의 최단 시간입니다. (cache[alp][cop]) 3.1 ..

[Programmers] 두 큐 합 같게 만들기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 주어진대로 풀면 되는 문제였습니다. 어떤 방법으로도 두 큐의 합을 같게 만들 수 없는 경우 하나의 큐를 두 벡터의 크기 합만큼 pop 했는데도 불구하고 조건을 만족하지 못한 경우입니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 성격 유형 검사하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 구현 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~ 반응형

[Programmers] 블록 이동하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전형적인 BFS 문제인데 다른 전형적인 문제와 달리 이동하는 블록이 (2 * 1) 칸인 문제였습니다. 회전하는 코드를 좀 더 최적화하면 깔끔할 것 같은데 일단은 구현한 그대로 포스팅했습니다. 추후... 리팩토링 진행하도록 하겠습니다. 알고리즘은 아래와 같습니다. 1. 로봇을 나타내는 블록의 y좌표, x좌표를 나타내는 vector들, 로봇의 방향이 가로인지 세로인지 나타내는 boo..

[Programmers] 매칭 점수

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/42893 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열 파싱 문제였습니다. 알고리즘은 아래와 같습니다. 1. 인덱스, 기본 점수, 본인 링크를 외부 링크로 갖는 인덱스들을 모아놓은 벡터, 그리고 링크를 변수로 갖는 WebPage 구조체를 선언해주고 각 page와 1:1 관계의 WebPage형 벡터를 선언해줍니다. 2. 우선 pages를 순회하며 각각의 링크를 구한 뒤 해당 링크가 몇 번째 인덱스에 매핑되는지 content2id..

[Programmers] 외벽 점검

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr weak와 dist 크기가 별로 크지 않기 때문에 단순 구현으로 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 외벽이 원형이므로 weak 벡터 크기를 두 배로 늘려 (각각의 약점 + n) 값들을 추가해줍니다. 1.1 기존 weak 벡터 사이즈를 weakSize라고 정의하겠습니다. 2. answer를 최댓값으로 설정합니다. (INT_MAX) 3. 취약지점을 모두 점검..

[Programmers] 공 이동 시뮬레이션

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/87391 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 쿼리의 역순으로 계산하면 AC를 받을 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 열과 행의 범위를 나타내는 pair 변수를 선언하고 주어진 쿼리의 역순으로 진행합니다. 1.1 역순이므로 문제에서 주어진 방향은 반대가 되어야 합니다. ex) query(0, dx) -> 열 번호가 증가하는 방향으로 이동하는 쿼리로 치환 1.2 또한, 정방향으로 쿼리를 진행했을 ..

[Programmers] 카드 짝 맞추기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/72415 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백트래킹과 다익스트라 알고리즘을 이용하여 푸는 문제였습니다. 두 지점을 이동할 때 최소 조작 횟수를 다익스트라 알고리즘을 통해 구하는 것이 핵심이었습니다. 4 * 4 보드판이기 때문에 백트래킹을 통해 모든 경우의 수를 구하더라도 TLE가 발생하지 않으며 보다 자세한 내용은 코드를 통해 판단할 수 있을 것이라고 생각됩니다! 개발환경: Programmers IDE 지적, 조언, 질문..

[Programmers] 캠핑

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/1833 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n이 최대 5000이라 O(n^3)으로 풀 수 없는 문제라고 생각했는데 적절한 가지치기를 진행하니 AC를 받을 수 있는 문제였습니다. 사실 문제에서 주어진대로 구현을 하고 제출을 해봤는데 얼떨결에 맞은 문제라 제대로 풀었는지 잘 모르겠습니다. 알고리즘은 아래와 같습니다. 1. 우선, data 벡터를 y좌표(문제에서는 x좌표라고 칭함)를 기준으로 정렬을 했습니다. 2. 쐐기의 모든 ..