코딩 테스트/프로그래머스

    프로그래머스 - 큰수 만들기 문제 - 자바

    programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr k 가 0이 될때 까지 앞서 들어온 값들과 비교해가면서 큰수를 만든다고 생각하면된다. 수 = 1924, k= 2인 경우 1입력 - {1} 9입력 - {9} (기존에 있던 1을 제거됨) 2입력 - {9, 2} 4입력 - {9, 4} (기존에 있던 2을 제거됨) // 프로그래머스 큰수 만들기 문제 class BiggestNumber { public String solution(String number, int k) { char[] result = new char[number.length() - k]; Stack stack = new Stack(); for(..

    프로그래머스 - 조이스틱 문제 - 자바

    programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 1. 문자 전체를 A에서 해당 문자를 만드는데 조작횟수를 구한다. - 문자에서 - 'A'를 뺀 값과 'Z' - 문자 + 1(A에서 Z가는) 둘 중 작은값이 조작횟수가 됨 2. 각 위치에서 - 각 위치의 다음 부터 A가 연속으로 있는 갯수를 구함. - 처음부터 i번째 까지 갔다가 다시 처음으로 오는 방식과 처음부터 반대로 갔다가 다시 i번째 까지가는 방식 중..

    프로그래머스 - 디스크 컨트롤러 문제 - 자바

    programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 작업리스트를 시작요청이 빠른순, 소요시간이 짧은 순으로 정렬하고 우선순위 큐를 소요시간이 짧은 순으로 정렬되게 셋팅 후 작업 리스트의 첫번째 작업을 큐에 넣고 큐를 순회하면서 현재 시간과 총 시간을 계산한다. 여기서 visited배열을 통해서 큐에 넣을 값들을 체크한다. import java.util.*; class Process implements Comparable{..

    프로그래머스 - 더 맵게 문제 - 자바

    programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 우선순위 큐를 이용한 간단한 구현 문제로 1. 스코빌 지수가 낮은순서대로 우선순위를 가지도록 우선순위 큐를 만들고 2. 각 음식의 지수를 우선순위 큐에 넣는다. 3. 지수가 가장 작은 음식의 지수가 목표인 K미만이면 - 우선순위큐에 두개 이상의 음식이 있는지 확인한다. 1) 우선순위 큐에 음식이 하나만 있는 경우 K 이상의 음식을 만들수 없으므로 -1 - 두 음식..