programmers 308

[Programmers] 테이블 해시 함수

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

[Programmers] 디펜스 게임

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr enemy 길이가 최대 백만이기 때문에 시간 복잡도 O(nlogn) 안에 풀어야 하는 것이 자명한 문제였습니다. O(nlogn)이라고 하면 제일 먼저 떠오르는 자료구조가 힙이였는데 다행히도 최소 힙으로 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 최소힙을 선언하고 enemy를 순서대로 넣어줍니다. 1.1 무적권은 k개이기 때문에 최소 힙의 크기는 k개 이하로 유..

[Programmers] 할인 행사

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131127?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해시를 이용하면 비교적 쉽게 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 정현이가 원하는 제품과 수량을 required 맵 객체에 저장합니다. 2. 처음 열흘 동안 할인받을 수 있는 품목을 cur 맵 객체에 수량과 함께 저장하여 1번에서 구한 required 맵 객체와 비교합니다. 2.1 조건을 충족하면 answer를 1 증가시킵니다. 3..

[Programmers] 숫자 타자 대회

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/136797 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr numbers의 길이가 최대 십만이기 때문에 브루트 포스로 풀 수 없는 문제였습니다. 따라서, 저는 오랜만에 DP로 접근해서 풀었습니다. 알고리즘은 아래와 같습니다. 1. 숫자는 0 ~ 9로 한정되어있기 때문에 이차원 배열을 통해 최소 가중치를 미리 구해줍니다. 2. [numbers의 최대 길이][왼손이 누를 수 있는 0~9까지의 숫자][오른손이 누를 수 있는 0~9까지의 숫자..

[Programmers] 숫자 짝궁

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 문자열 처리 문제였습니다. 알고리즘은 아래와 같습니다. 1. X를 순회하며 각 숫자가 몇 번 나왔는지 확인합니다. 2. Y를 순회하면서 1번에서 구한 짝꿍들을 문자열 s에 추가합니다. 3. 2번을 마치고도 s가 빈 문자열이면 짝궁이 없으므로 "-1"을 반환합니다. 4. s가 0으로만 구성되면 "0"을 반환합니다. 5. 3번 혹은 4번에서 프로그램이 종료가 안 되었다면 s..

[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] 코딩 테스트 공부

문제 링크입니다: 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..