https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 Level 1 문제다. Arrays 클래스의 copyOfRange 메소드를 사용하면 더 간단하게 풀 수 있다. copyOfRange(arr, i, j)를 하면 arr 배열의 i번째부터 j-1번째까지 자른 배열을 반환한다. 그리고 Arrays.sort를 통해 정렬 후 k번째 수를 answer에 저장하면 된다. import java.util.Arrays; cla..
https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다. 현재 다리를 건너고 있는 트럭들을 저장하기 위한 LinkedList를 생성해 트럭이 다리에 들어올 때마다 list에 넣는다. List에 있는 모든 Bridge의 시간을 1초씩 더해 다리를 건너도록 해야 하므로 인덱스로 접근이 가능한 LinkedList를 사용했다. List 가장 위에 있는 원소가 가장 처음으로 들어간 트럭, 즉..
https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2020 KAKAO TECH INTERNSHIP의 Level 3 문제다. 산봉우리에 도착후 다시 똑같은 코스로 출입구에 돌아와야 intensity가 최소가 되므로 하나의 출입구를 시작으로 산봉우리에 도착할 때만 고려해도 된다. 처음엔 BFS로 풀다가 https://tech.kakao.com/2022/07/13/2022-coding-test-summer-internship/ 위 링크를 참고해서 풀..
https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2021 카카오 채용연계형 인턴십 Level 3 문제다. 처음엔 일반 배열 하나를 사용해서 삭제된 원소는 -1로 표시하고, -1을 만나면 무시하는 방식으로 구현을 했었는데 이미 삭제된 원소까지 모두 접근을 해서 그런지 시간 초과가 떴다. 그 후에는 ArrayList를 사용했는데, 중간에 있는 원소를 삽입하고 삭제하는 속도가 느려 시간 초과가 뜬 것 같다. 그리고 java.util.LinkedLis..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 힙 Level 3 문제다. 문제 제목 그대로 우선순위 큐를 두개 사용하면 되는 간단한 문제다. 최소 힙과 최대 힙 둘다 생성하고, I 연산을 통해 값을 삽입할 때도 두개의 힙에 삽입한다. 그러면 자동으로 최소 힙에서 poll을 하면 최솟값이 삭제되고, 최대 힙에서 poll을 하면 최대값이 삭제될 것이다. 그리고 최솟값을 삭제할시 최대 힙에서도 동일한 값을 삭..
https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 힙 Level 3 문제다. 작업의 요청~종료 시간의 평균이 최소가 되어야 하므로 요청한 작업 중, 소요시간이 더 적게 걸리는 순서대로 정렬해야 한다. 즉 요청한 작업을 큐에 넣고 소요시간 별로 정렬하기 위해 우선순위 큐를 사용했다. 먼저 요청시점이 빠른 순서대로 우선순위 큐에 넣어야 하므로 jobs의 요청시점을 오름차순으로 정렬한다. 그리고 우선순위 큐에 들..
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 힙 Level 2 문제다. 우선순위 큐는 힙의 원리와 동일하므로 자바의 PriorityQueue 라이브러리를 사용했다. 우선순위 큐에 scoville[] 원소를 넣으면 자동으로 가장 맵지 않은 두 음식의 스코빌 지수가 맨 앞으로 정렬될 것이다. 큐의 맨 앞 두개를 꺼내 새로운 음식을 만들고, 다시 큐에 넣는다. 큐의 가장 맨 앞의 원소가 가장 작은 스코빌 지..
https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 프로그래머스 코딩테스트 고득점 Kit의 스택/큐 Level 2 문제다. 스택을 사용하는 문제인 것 같은데 이중 for문이 더 간단할 것 같아 이렇게 구현했다. 주식 가격이 떨어질 때까지 sec를 1씩 증가시키고, 떨어지는 경우에 배열에 sec를 대입한다. 끝까지 한번도 떨어지지 않으면 배열이 갱신되지 않으므로 떨어지면 flag를 true, 떨어지지 않으면 false로 설정해 마지막에 flag값을 ..