![[Java] 순열 검사 - 알고리즘 문제 해설 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcuNl0k%2Fbtr5fOoeTPz%2FAAAAAAAAAAAAAAAAAAAAAAw-c13VSLhIP-kxoWp75s6NLsvVrnOoJRYa3czfJKKE%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D%252FTFWwioHwO0L%252FZ4QbS3reCLaMBI%253D)
https://school.programmers.co.kr/learn/courses/18/lessons/1877?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열의 길이가 최대 10만으로 그냥 추가배열을 같은 길이로 생성하여 집어넣는 과정에서 조건들을 주어 해결 class Solution { public boolean solution(int[] arr) { int[] chk = new int[arr.length]; for(int i : arr) { if(i>arr.length) return false; else chk[i..
![[Java] 귤 고르기 - Lv2 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FsesDC%2Fbtr45lTopCg%2FAAAAAAAAAAAAAAAAAAAAAPxgx4-NDr62ZwKj8WKmuXJmjc3JlTlFjcNj36j5Y1Bp%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DzpJ9TxwxgA%252FTBeJwLAzfW2Lp0FU%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 주어진 k값을 내려가며 k가 0보다 작아질 때 종료시켰다. 주어진 귤의 크기의 중복값이 필요해서 Map을 선언하여 getOrDefault메서드를 활용해 중복일 경우 숫자를 증가시켜 해당 귤의 크기의 갯수를 파악했고 Value에 대한 내림차순 정렬이 필요했기 때문에 따로 List를 선언하여 내림차순 정렬을 한 후 문제를 풀었다. import java.util*; class Solution {..
![[Java] 멀리 뛰기 - Lv2 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb7989n%2Fbtr45mxY8C4%2FAAAAAAAAAAAAAAAAAAAAAMghcA8fzu4clWr0tdnwI-SJR8sclrrFfSyer4LMzuC4%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D2AcrvMwuLkHUq7STCUtNRq9laHU%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제에 규칙이 있다. 그냥 최대 방법의 가지수를 쭉 나열해보니 1 - 1 - 2 - 3 - 5 - 8 - 13 ......이 나왔고 이전배열과 이전이전배열의 값을 더해주기만 하면 되는 문제였다 ( 피보나치배열 ) class Solution { public int solution(int n) { int answer = 0; int[] arr = new int[2001]; arr[1] = 1; ..
![[Java] 행렬의 곱셈 - Lv2 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcVBzfH%2Fbtr33x1CqoL%2FAAAAAAAAAAAAAAAAAAAAAOXDn2cQ94Tf9RdUIUWAIAXBLA13B1vVJfhGDdwSQ71l%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DcAmkDYfLjV7Erishrh%252FWK740HLc%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 행렬의 곱이란 수학적 개념자체를 아예 몰라서 문제를 보고도 이해를 못했다. 문제 자체가 이해가 안되는 것은 처음이었다. 인터넷을 찾아봤고 나무위키 설명이 개인적으로 이해가 잘 되어서 나무위키를 보고 문제를 이해했다. https://namu.wiki/w/%ED%96%89%EB%A0%AC%EA%B3%B1 행렬곱 - 나무위키 어느 학교에는 우등생을 따로 모아서 교육시키는 특별반인 '우수반'과 '수..
![[Java] 올바른 괄호 - Lv2 프로그래머스 스택/큐](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbyiFVz%2Fbtr3U0Q3UVv%2FAAAAAAAAAAAAAAAAAAAAAKZxF0NtmwjrJhyVCVGI3FrZOUzi6wq6WjrmPI3rLzHj%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DJO7KpCI7d0rQXthM7g5SqxZ1OUU%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 큐를 활용해서 다음 괄호값과 비교하여 풀었고 첫 괄호가 ")"이거나, 큐에 입력되는 값이 ")"일 경우 false처리를 해 주었다. class Solution { boolean solution(String s) { if(s.charAt(s.length()-1) == '(') return false; Queue queue = new LinkedList(); queue.add(s.charAt(0..
![[Java] 프린터 - Lv2 프로그래머스 스택/큐](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FGZfKB%2Fbtr3JY6pdO5%2FAAAAAAAAAAAAAAAAAAAAAHnMFbv3IYUh2KcpgC2K7-FtqWZC3vYMyIzgj2c2AB8K%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dous2y6UaCjjiDzfVvmF8X4bLRBY%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/42587# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫 접근은 큐를 활용하여 먼저 들어온 녀석이 다음 값보다 작을 경우 뺏다가 후순위로 보내어 풀면 되겠다. 라고 생각하여 접근했지만 뺀 값들을 어떻게 활용할 지 번뜩이는 아이디어가 없어서 일단 그냥 풀어봤다. class Solution { public int solution(int[] priorities, int location) { int answer = 0; int length = pri..
![[Java] 구명보트 - Lv2 프로그래머스 탐욕법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbkTFxm%2Fbtr3LGLaINa%2FAAAAAAAAAAAAAAAAAAAAAP7bNKaWJ-s0deAHFxWLq6Ol3uGzo1dB1GzJ2hcPm3Gg%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dq3%252BcpIo%252FRwxvySBeWCKrov7iPx8%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제에서 최대 2명밖에 탑승이 되지 않는다고 했기 때문에, 최적의 값을 구할 때 limit와 가장 가까운 값을 찾기 위해 가장 무거운 사람과 가장 가벼운 사람을 같이 태워 limit값보다 무게가 크다면 무거운 사람만 태우는 식으로 해서 조건을 줬다. class Solution { public int solution(int[] people, int limit) { int answer = 0; ..
![[Java] 호텔 대실 - Lv2 프로그래머스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FWuiwA%2Fbtr3HocmmB8%2FAAAAAAAAAAAAAAAAAAAAAL_o4iHwYi1ghri8YG6UdtV29ddTWCqCeD7ercK7PDLr%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DtiqmS91JLDBff8uIOC19AoCVdSY%253D)
https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 첫 접근부터 단순하게 생각하여 분 단위를 index로 하는 배열을 선언해서 객실 이용중일 때와 닫혔을 때를 단순 때려박아서 구하려고 했다. 청소를 10분간 진행하기로 했으니 분단위의 00:00~23:59인 0~1440에 청소시간을 더한 1450을 length로 두었다. int[] fulltime = new int[24*60+10]; 퇴실 기간이 23:51이상인 값을 고려하지 않았다. 예약 ..