C++ 1588

[Programmers] 호텔 대실

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/155651# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 구현 문제였습니다. 알고리즘은 아래와 같습니다. 1. 한번 사용한 객실은 퇴실 시간 기준 10분 동안 청소 후 다음 손님이 사용할 수 있으므로 주어진 book_time 벡터의 퇴실 시간들에 모두 10분을 더해줍니다. 2. 벡터를 입실 시간 기준 오름차순으로 정렬합니다. 3. 벡터를 순회하면서 현재 객실의 입실 시간과 기존에 사용하고 있는 객실들의 퇴실시간을 비교하여 입..

[Programmers] 뒤에 있는 큰 수 찾기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택 자료구조를 활용하여 풀면 쉽게 풀리는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 우선, answer를 주어진 numbers의 size 크기로 설정하고 모두 -1로 초기화해 줍니다. 2. pair형 stack을 선언해 줍니다. 3. 스택이 비어있지 않은 경우 스택의 top에 있는 숫자와 현재 숫자를 비교합니다. 현재 숫자가 더 클 경우 문제에서 주어진 조건인 뒤에 있는..

[Programmers] 무인도 여행

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

[Programmers] 인사고과

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/152995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제의 핵심은 인센티브를 받을 수 있는 직원들에 한해서만 석차를 구하는 것이었습니다. 알고리즘은 아래와 같습니다. 1. 반복문을 통해 완호가 인센티브를 받을 수 있는지 확인하고 인센티브를 받을 수 없다면 -1을 반환하면서 프로그램을 종료합니다. 2. 완호가 인센티브를 받을 수 있다면 인센티브를 받을 수 있는 직원들만 남겨야 하는데 해당 과정을 무턱대고 O(N^2)으로 처리할..

[Programmers] 시소 짝궁

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 계산하는 과정에서 오버플로우가 발생하기 쉬운 문제였습니다. 또한, weights의 길이가 최대 10만이기 때문에 시간복잡도 O(N) 혹은 O(NlogN) 안에 풀어야 하는 문제였습니다. 저는 O(N) 방식으로 풀었으며 알고리즘은 아래와 같습니다. 1. 우선 맵을 선언하고 weights를 순회하면서 각 무게의 등장 횟수를 기록했습니다. 2. 등장한 모든 무게에 대해서 아래와 같은..

[Programmers] 이모티콘 할인행사

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이모티콘의 개수가 7개로 한정적이고 할인율의 종류도 5가지이므로 백트래킹으로 쉽게 풀 수 있는 문제였습니다. (제가 계산했을 때는 시간복잡도가 O(5^7 * 100)였습니다.) 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 택배 배달과 수거하기

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제에서 주어진 예시를 보면 아래와 같이 그리디하게 접근 가능합니다. 배달/수거를 제일 멀리 있는 집부터 차례대로 진행하며 각 턴마다 제일 멀리 배달한 거리와 제일 멀리 수거한 거리를 비교해 더 높은 값의 두배만큼 이동하면 됩니다. (물류창고 -> cap이 허용되는 만큼 배달 -> cap이 허용되는만큼 수거 -> 물류창고) 여기서 두배로 이동하는 이유는 물류창고로부터 배달 혹은..

[Programmers] 마법의 엘리베이터

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 숫자의 일의 숫자부터 확인하면서 풀면 쉽게 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 일의 자리 숫자와 십의 자리 숫자를 확인합니다. 2. 일의 자리 숫자가 5보다 클 경우 올림 해줍니다. 2.1 일의 자리 숫자가 5일 경우 십의 자리 숫자가 5 이상일 경우 올림, 5 미만일 경우 내림해 줍니다. 2.2 일의 자리 숫자가 5보다 작을 경우 내림해 줍니다..

[Programmers] 택배상자

문제 링크입니다: https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 지문 내 컨베이어 벨트를 보고 스택 자료구조를 연상할 수 있었다면 쉽게 풀 수 있는 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영합니다! 질문 남겨주세요~

[Programmers] 테이블 해시 함수

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