본문 바로가기

프로그래머스8

[프로그래머스] 할인행사 (JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Map의 자료구조를 사용하여 쉽게 풀 수 있는 문제이다. 1. Map에 필요한 물건을 key, 개수를 value로 생성해준다. 2. discount의 9일전까지 반복을 해준다 (그 이상은 마트에 등록을해도 10일이 안채워지기 때문) 3. 현재 마트에서 할인하는 물품이 wantCount에 없는 물품이라면 다음날로 이동 (결국 모든 물품을 사지 못하기때문에) 4. 위까지 통과하였다면 map에서.. 2023. 7. 5.
[프로그래머스] 택배상자(JAVA) https://school.programmers.co.kr/learn/courses/30/lessons/131704# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 보조 컨테이너 벨트는 앞 뒤로 이동이 가능하지만 입구 외에 다른 면이 막혀 있어서 맨 앞의 상자만 뺄 수 있습니다(즉, 가장 마지막에 보조 컨테이너 벨트에 보관한 상자부터 꺼내게 됩니다). 위 문장에서 말하는 "보조 컨테이너 벨트에 보관한 상자"를 생각해보면, 보조 컨테이너 벨트는 상자들을 쌓는 구조로 이루어져 있을 것이다. 그렇다면 stack 자료구조를 사용하는것이 적절하다. 먼저 se.. 2023. 7. 4.
[프로그래머스] 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 자바에서는 PriorityQueue(우선순위 큐)를 이용해서 쉽게 풀 수 있다. 천천히 살펴보자 1. book_time 값을 int 형태로 변환 -> 10분간 청소한다 라는 조건이 없으면 string으로 사용해도 되지만 10분간 청소한다는 조건이 있어 int형으로 변환 후 시간을 추가해 주어야 한다. 2. int[][] 배열을 입장시간 기준으로 정렬 -> Compartor.comparing.. 2023. 7. 4.
[프로그래머스] 카카오 기출 - 양궁대회 https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 n의 범위가 10으로 아주 작아 완전탐색으로 풀이가 가능하다. 하지만 완전탐색 돌릴시 시간초과가 날 수 있기 때문에 몇가지 주의사항이 필요하다 1. 유망한 조건에 대해서만 반복하기 -> dfs 내에서 for문을 돌릴 때 현재 라이언이 어피치보다 화살을 맞춘 갯수가 많으면 더 이상 돌릴필요가 없다. 2. 점수 계산시 0점은 제외하기 -> 0점은 계산해봤자 의미가 없기때문에 제외시켜준다. -> .. 2023. 7. 4.
[프로그래머스] 혼자 놀기의 달인 https://school.programmers.co.kr/learn/courses/30/lessons/131130?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 따로 부연설명이 필요 없을 것 같다. cards 배열 전체순회하며, 방문한 카드는 방문하지 않고, count 를 비교해주며 firstMax와 secondMax를 갈아치워주는 로직 여기서 주의할점은 단 한가지이다. firstMax 값을 업데이트할 때 secondMax값을 firstMax값으로 넣어줘야 한다. class Solution { public int solut.. 2023. 6. 20.
[프로그래머스] 카카오 기출 - n진수 게임 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 각각 idx를 잡고 말하는 순서와 참가하는 인원을 계속 돌면서 튜브가 말하는 차례이면 StringBulider에 값을 추가해주는 식으로 풀었다. 개인적인 난이도는 백준 기준 실버 4 ? 정도 이지 않을까.. class Solution { public static void main(String[] args) { new Solution().solution(2, 4, 2, 1); } // n ->.. 2023. 6. 20.