목록Algorithm/Programmers (15)
in.add()
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 문제 해결 방법 규칙을 찾아 구현했다. A - AA - AAA - AAAA - AAAAA - AAAAE - AAAAI - AAAAO - AAAAU 다섯 번째 자리의 모음은 "AEIOU" 순서대로 바뀌는데 한 번이면 된다. AAAE - AAAEA - AAAEE - AAAEI - AAAEO - AA..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제 해결 방법 k개씩 보면서 최댓값을 찾아준다. class Solution { public String solution(String number, int k) { StringBuilder answer = new StringBuilder(); int idx = 0; for(int i = 0; i < number.length() - k; i++) { char max = '0'; for(int j = idx; j
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 해결 방법 numbers 모두 list에 담아준 후, 문자열+문자열 값을 int로 변환했을 때를 비교하여 오름차순으로 정렬했다. 마지막 테스트 케이스를 틀렸는데, list의 첫 번째 값이 "0"이라면 "0"을 return 하는 것을 추가해 통과할 수 있었다. import java..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 해결 방법 몸무게 배열을 정렬한 후, 가장 가벼운 사람부터 보면서 무게 제한을 넘지 않을 때까지 무거운 사람들을 더하도록 구현했다. import java.util.*; class Solution { public int solution(int[] people, int limit) { int answer = 0; int..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/72412 = score) cnt++; } answer[i] = cnt; } return answer; } public void dfs(int cnt, String str, String[] infos) { if(cnt == 4) { int score = Integer.parseInt(infos[4]); if(!map.containsKey(str)) { ArrayList list = new ArrayList(); list.add(score); map.put(str, list); } else map.get(str).add(score); return; } dfs(cnt + 1, str + infos[cnt..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 해결 방법 조합을 이용했다. HashMap에 를 저장해뒀고, 조합이 나온 수가 max 값 이라면 정답 배열에 추가했다. import java.util.*; class Solution { static HashMap[] setByCourse; // course 갯수 별로 set 저장할 hashmap 배열 static int N; // 현재 cour..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제 해결 방법 인접 배열 요소 탐색을 위해 델타를 이용했습니다. {상, 우..