일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- programmers
- 자바
- 티스토리챌린지
- ubuntu
- 스프링부트
- Java
- Tistory
- Linux
- 리눅스
- 개발자
- CodingTest
- 코테
- error
- 개발공부
- vscode
- SpringBoot
- EC2
- 오블완
- AWS
- 개발
- 둔산동맛집
- 알고리즘
- 프로그래머스
- 우분투
- Git
- React
- 코딩테스트
- TypeScript
- 티스토리
- 코딩
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- programmers
- 자바
- 티스토리챌린지
- ubuntu
- 스프링부트
- Java
- Tistory
- Linux
- 리눅스
- 개발자
- CodingTest
- 코테
- error
- 개발공부
- vscode
- SpringBoot
- EC2
- 오블완
- AWS
- 개발
- 둔산동맛집
- 알고리즘
- 프로그래머스
- 우분투
- Git
- React
- 코딩테스트
- TypeScript
- 티스토리
- 코딩
- Today
- Total
목록코딩테스트 (10)
개발자가 된 감자

부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하기 1. 예산 내에서 최대 지원 횟수를 구하기 위해, 부서별 신청 금액 오름 차순 정렬하기Arrays.sort(d); // 오름차순 정렬int cnt = 0;2. 오름차순으로 정렬된 신청 금액을 순서대로 예산에서 차감시킨 후, 0이 되면 breakfor(int i=0; i전체 코드import java.util.Arrays;class Solution { public int solution(int[] d, int budget) { Arrays.sort(d); int cnt = 0; for(i..

배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하기1. 변수 초기화Stack stack = new Stack();Queue queue = new LinkedList();2. 스택과 큐가 비어있으면 데이터를 삽입하고, 아니라면 숫자 비교 후 일치하지 않을 때 삽입 처리for(int num : arr){ if(stack.isEmpty()){ stack.push(num); queue.add(num); continue; } if(stack.peek() != num){ stack.push(num); queue.add(num); }}3. 큐에 담긴 값을 하나씩 제거하며 배열..

배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하기연산법 : 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하기1. 변수 초기화int[] answer = new int[commands.length]; // 2차원 배열의 길이로 초기화2. 2차원 배열인 commands 변수의 i, j, k 구하기for(int i=0; i3. i, j 만큼 자른 숫자들을 재정렬 후 slice 배열에 담은 다음, k번째 수를 픽하여 answer에 담기 ... int[] slice = new int[(end-b..

문자열로 이루어진 배열 cards1, cards2와 원하는 단어 배열 goal이 매개변수로 주어질 때, cards1과 cards2에 적힌 단어들로 goal를 만들 있다면 "Yes"를, 만들 수 없다면 "No"를 return하기.카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 1. 변수 초기화String answer = "No"; // answer defaultint preIdx1 = 0; // 반복문에 사용할 인덱스 초기화int cnt1 = 0; // 카드 뭉치 1에서 일치한 횟수int preIdx2 = 0; // 반복문에 사용할 인덱스 초기화int cnt2 = 0; // 카드 뭉치 2에서 일치한 횟수 2. 카드 뭉치 1에 있는 단어와 goal 배열에 있는 단어 비교 후 카운트 증가for(int ..

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하기.1. 변수 초기화 String answer = ""; Map nameMap = new HashMap(); // 완주한 선수들의 이름을 담을 map 2. 완주한 선수들의 이름이 담긴 배열 오름차순 정렬Arrays.sort(completion); 3. completion 배열 값을 key : index, value : 이름 형태로 map에 담기for(int i=0; i 4. 전체 선수의 이름이 담긴 배열 오름차순 정렬Arrays.sort(participant); 5. 완주한 선수들의 이름이 담긴 map에 해당 이름이 없거나, for..

사과의 최대 점수 k, 한 상자에 들어가는 사과의 수 m, 사과들의 점수 score가 주어졌을 때, 과일 장수가 얻을 수 있는 최대 이익을 return 하기상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다 1. 정답으로 return할 answer 변수 초기화int answer = 0; 2. 사과들의 점수를 오름차순으로 정렬Arrays.sort(score); 3. 버려지는 사과가 없는 경우, 있는 경우로 분기하여 이익 값 구하기if(score.length % m == 0)} // 주어진 사과 개수가 한 상자에 들어가는 사과 수의 배수라면, for(int i=0; i0; i-=m){ // 높은 점수부터 존재하는 역순으로 점수 값을 꺼내..

민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어진다. 이때, 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하기 1. 변수 초기화int[] answer = new int[2]; // 최고 순위, 최저 순위가 들어갈 배열int checked = 0; // 당첨 번호와 일치한 개수int zero = 0; // 알 수없는 번호의 개수 2. 민우의 로또 번호에서 알 수 없는 번호 개수, 당첨 번호와의 일치 개수 구하기for(int myNum : lottos) { // 민우의 로또 번호 하나씩 꺼내기 if(myNum == 0) { // 0일 경우, 알아볼 수 없는 번호로 간주 zero++; // 알아..

전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하기실패율 : 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 1. 각 변수 초기화int[] answer = new int[N]; // 실패율 높은 순서대로 스테이지의 데이터를 담을 배열int player = stages.length; // 사용자가 멈춰있는 스테이지의 번호가 담긴 player 배열 크기로 전체 사용자 수 구하기Double[] array = new Double[N]; // 스테이지 순서대로 실패율을 담을 배열Map map = ne..