[Java] 프로그래머스 : 프로세스 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 2번째 테스트 케이스를 보면 가장 처음 인덱스에 있는 값이 5번째로 실행되는 것을 확인할 수 있다. 9다음 1이 다음 우선순위가 되도록 하기 위해서 가장 먼저 떠올린 것은, priorities를 내림차순 정렬한 배열을 하나 더 만드는 것이었다. 큐에는 priorities 원본 배열 값을 전부 집어 넣고, 내림차순된 배열의 값과 큐의 특정 값이 일치하는 경..
[Java] 프로그래머스 : 튜플 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 두 케이스가 어떻게 [2, 1, 3, 4]로 같은 값이 나오게 구현할 것인지 알아내는 것이 어려웠던 문제였다. 집합은 원소의 순서가 바뀌어도 상관없다는 문제의 조건 때문에 두 케이스는 같은 결과가 나올 수 있었다. 만약 두번째 케이스를 각 집합의 길이를 기준으로 오름차순 정렬하면 아래와 같다. {{2},{2,1},{1,2,3},{1,2,4,3}} 반복문으로 ..
[Java] 프로그래머스 : 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 HashMap으로 정리한다고 가정하면, 예제 1은 다음과 같이 정리된다. headgear : ["yellow_hat", "green-turban"] eyewear : ["blue-sunglasses"] 문제 조건에 의해 의상은 종류별로 1개씩만 입을 수 있고, 특정 종류의 옷을 입지 않는 것도 가능하다. 그러나 최소 한 개의 의상은 입어야 한다. headge..
[Java] 프로그래머스 : n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 n = 4일 때의 배열은 다음과 같다. 잘 보면 행의 위치나 열의 위치 중에 더 큰 값으로 값이 결정되는 것을 확인할 수 있다. 빨간색 구간은 행과 열이 3으로 같은 구간이다. 파란색 구간의 경우 행 또는 열 한쪽이 더 큰 값을 가지므로 더 큰 값으로 할당되었다. answer라는 배열이 일차원 배열을 요구하므로, 반복문을 left부터 right..
[Java] 프로그래머스 : 괄호 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 괄호 열고 닫는 스택 관련 문제는 다 비슷한 방식으로 풀리기 때문에 걱정이 없었으나, 이번에는 주어진 문자열을 회전하는 방법이 잘 떠오르지 않았습니다. 올바른 괄호 문자열 검증 방법 여는 괄호가 나올 경우 push 닫는 괄호가 나올 경우 스택이 비어있으면 break, 닫는 괄호가 나올 경우 스택 맨 위의 값이 짝이 맞는 여는 괄호일 경우 pop 마지..
[Java] 프로그래머스 : 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 배열을 빈도수를 기준으로 내림차순 한다음, k만큼 귤을 담으면서 귤이 총 몇 종류가 담기게 되는지 계산하면 되는 문제. import java.util.*; class Solution { public int solution(int k, int[] tangerine) { int answer = 0; HashMap map = new HashMap(); f..