본문 바로가기

코테21

[프로그래머스] 호텔 대실 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.
[백준] 13913번 : 숨바꼭질 java 문제 설명 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 둘째 줄에 어떻게 이동해야 하는지 공백으로 구분해 출.. 2023. 5. 17.
[백준] 15657번 : N과 M(8) java 문제 설명 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. - N개의 자연수 중에서 M개를 고른 수열 - 같은 수를 여러 번 골라도 된다. - 고른 수열은 비내림차순이어야 한다 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 풀이 백트레킹시 자기 자신도 포함되야 되기 때문에 dfs.. 2023. 5. 14.