알고리즘/programmers 295

[Programmers] 퍼즐 게임 챌린지

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

[Programmers] 무지의 먹방 라이브

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 우선순위 큐를 사용해 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다.1. 전체 음식을 다 먹는 시간이 k보다 작거나 같다면 더 먹을 음식이 없으므로 -1을 반환합니다.2. 음식의 남은 시간을 기준으로 오름차순 정렬하기 위해 최소 힙을 선언하고 {음식 섭취 시간, 음식 인덱스} 형식으로 저장합니다.3. k초 안에 모두 섭취할 수 있는 음식을 2번에서 선언한 우선순위 큐에서 제거..

[Programmers] 조건에 맞는 사원 정보 조회하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/284527 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr MySQL을 이용하여 풀었습니다.우선, 2022년 기준 사원의 연간 점수 합산을 담은 테이블 FULL_SCORE를 생성한 뒤 HR_EMPLOYEES 테이블과 INNER JOIN 하여 답을 구했습니다.  개발환경: Programmers IDE   지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 에어컨

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/214289 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 바텀업 DP로 풀었습니다.cache[분][온도] 이차원 배열은 현재 분에 온도를 유지하기 위해 소모된 최소 전력을 표현하며 반복문을 통해 cache 배열을 업데이트했습니다.  개발환경: Programmers IDE   지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 분기별 분화된 대장균의 개체 수 구하기

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

[Programmers] 상담원 인원

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr reqs의 크기가 최대 300이고 상담원 배치 조합이 최대 15C5이기 때문에 브루트포스로 접근해도 되는 문제였습니다. 알고리즘은 다음과 같습니다. 1. 상담원을 배치할 수 있는 모든 조합을 구해줍니다. 2. 각각의 상담원 배치에 대해 기다린 시간의 합산을 구해줍니다. 2.1 자료구조는 시간을 기준으로 최소힙 배열을 선언하였고 각 유형의 상담원 인원수만큼 우선순위큐에 0을 넣어줬습..

[Programmers] 표현 가능한 이진트리

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 해당 문제의 핵심은 서브 트리 내 루트가 반드시 1이어야 한다는 점입니다. 알고리즘은 다음과 같습니다.1. 주어진 십진수를 이진수로 변환한 뒤 포화이진트리 형태가 아니라면 포화이진트리 형태가 되도록 0을 추가해 줍니다.2. 1번에서 구한 이진수의 가운데를 시작으로 모든 서브 트리 내 루트 노드가 존재하는지 확인합니다.2.1 2번 조건이 성립하면 1, 성립하지 않으면 0을 answe..

[Programmers] 미로 탈출 명령어

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 사전순으로 가장 빠른 경로를 구해야 하므로 그리디 하게 [d, l, r, u] 순으로 백트래킹하면 되는 문제였습니다.시간을 단축시키기 위해 현재 지점과 탈출 지점 사이의 맨해튼 거리를 구해 거리가 안될 경우 가지치기를 진행했습니다.  개발환경: Programmers IDE   지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 등산코스 정하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 다익스트라 알고리즘을 활용하여 풀 수 있는 문제였습니다.일반적인 다익스트라 알고리즘처럼 가중치를 더해나가는 것이 아니라 등산로 내 최대 가중치를 업데이트하는 방식으로 코드를 작성해야 했습니다.  개발환경: Programmers IDE   지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 고고학 최고의 발견

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131702?language=cpp 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 백준 14927번 전구 끄기와 비슷한 문제였습니다. 알고리즘은 아래와 같습니다.1. 첫 번째 행에 대해 모든 경우의 수를 구한 뒤2. 두 번째 행부터 바로 위 행의 시곗바늘을 12로 만들도록 처리합니다.3. 위와 같이 진행할 경우 1 ~ (N - 1)행의 시곗바늘은 모두 12를 바라보고 있습니다.3.1 따라서 마지막 행의 시곗바늘이 모두 12를 바라보고 있을..