본문 바로가기

Coding Test/Programmers

(9)
[JAVA] 정렬 Lv.2 / 가장 큰 수 🔗링크 https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 📜문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정..
[JAVA] 스택/큐 Lv.2 / 기능개발 🔗링크 programmers.co.kr/learn/courses/30/lessons/42586?language=java 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 📜문제 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의..
[JAVA] 해시 Lv.2 / 전화번호 목록 [문제] [제한 조건] phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. [입출력 예] phone_book return ["119", "97674223", "1195524421"] false ["123","456","789"] true ["12","123","1235","567","88"] false [알고리즘] 전화번호가 담긴 phone_book 배열에서 한 element가 다른 element로 "시작되는지" 찾는 문제이다. 간단하게 배열을 Arrays.sort() 를 이용하여 정렬한뒤 반복문으로 앞에서부터 다음 인덱스 값이 현재 인덱스 값으로 시작하는지 찾아서 false를 리턴해주면 되는 문..
[JAVA] 완전탐색 Lv.1 / 모의고사 [문제] https://programmers.co.kr/learn/courses/30/lessons/42840 [제한 조건] 시험은 최대 10,000 문제로 구성되어있습니다. 문제의 정답은 1, 2, 3, 4, 5중 하나입니다. 가장 높은 점수를 받은 사람이 여럿일 경우, return하는 값을 오름차순 정렬해주세요. [입출력 예] answers return [1,2,3,4,5] [1] [1,3,2,4,2] [1,2,3] [알고리즘] 문제의 정답과 수포자들이 제출한 답을 모두 비교하여 정답일시 포인트를 증가해주는 완전탐색 문제이다. 수포자들의 점수찍는 규칙을 통해 점수를 메기고 그 중 가장 큰 점수를 맞춘 사람의 번호를 출력해주면 되는 문제 필요한 변수 : 수포자 3명이 답을 찍는 방식이 담긴 2차원 배열..
[JAVA] Heap Lv.1 / 더 맵게 [문제] [입출력 예] scoville K return [1, 2, 3, 9, 10, 12] 7 2 [제한 조건] scoville의 길이는 2 이상 1,000,000 이하입니다. K는 0 이상 1,000,000,000 이하입니다. scoville의 원소는 각각 0 이상 1,000,000 이하입니다. 모든 음식의 스코빌 지수를 K 이상으로 만들 수 없는 경우에는 -1을 return 합니다. [알고리즘] Heap(우선 순위 큐)을 사용하여 간단하게 해결할 수 있는 문제이다 , scoville의 값을 모두 heap에 넣어주고 몇가지 조건만 신경써서 조건문을 걸어주면 되는 문제 heap의 가장 앞의 값이 K이상일 동안 반복해서 실행되게 작성 heap의 크기가 2보다 작을경우 -1 return heap에서 pol..
[JAVA] 정렬 Lv.1 / K번째 수 [문제] [제한 사항] array의 길이는 1 이상 100 이하입니다. array의 각 원소는 1 이상 100 이하입니다. commands의 길이는 1 이상 50 이하입니다. commands의 각 원소는 길이가 3입니다. [알고리즘] 배열 array와 이차원 배열 commands 가 주어지고 commands 안에 i,j,k 가 주어지는 문제이다. 문제 상 i 는 commands[][0]에 해당하고, j는 commands[][1]에 해당 이중 for 문을 사용하여 문제를 해결해주기로 했다. 첫 for문의 범위는 0부터 commands의 길이까지이고, 두번째 for문은 commands[i][0]부터 commands[i][1]까지로 작성해준다. 여기서 commands[i][0]-1의 이유는 array[j]시 ..
[JAVA] 스택/큐 Lv.2 / 다리를 지나는 트럭 [문제] [입출력 예] bridge_length weight truck_weights return 2 10 [7,4,5,6] 8 100 100 [10] 101 100 100 [10,10,10,10,10,10,10,10,10,10] 110 [제한 조건] bridge_length는 1 이상 10,000 이하입니다. weight는 1 이상 10,000 이하입니다. truck_weights의 길이는 1 이상 10,000 이하입니다. 모든 트럭의 무게는 1 이상 weight 이하입니다. [알고리즘] 다리를 Queue로 만들어놓고 반복문으로 모든 트럭이 빠질때까지 반복문을 실행하고 조건을 걸어준다 1 .queue가 비어 있을 경우 (다리에 트럭이 없을 경우), 큐에 트럭의 무게를 넣는다 2. 큐의 크기가 다리의 크..
[JAVA] 해시 Lv.1 / 완주하지 못한 선수 [문제] 제한 사항 1