CodingTest(64)
-
[코딩테스트] 프로그래머스 12941, 최솟값 만들기
문제 https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 접근 누적합을 최소로 만들기 위해서 배열 A,B를 모두 오름차순으로 정렬 배열의 길이만큼 반복하면서 배열 A는 0번째부터, 배열 B는 n-i-1번째부터 내려가면서 누적합을 구함 코드 import java.util.Arrays; public class Solution { public int solution(int []A, int []B)..
2022.05.16 -
[코딩테스트] 프로그래머스 12985, 예상 대진표
문제 https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 접근 1. 입력 a와 b가 서로 같은 그룹에 있는지 확인 public boolean isFight(int a, int b) { return (a + 1) / 2 == (b + 1) / 2 ? true : false; } 2. 같은 그룹에 있지 않다면 절반씩 나누어 다시 저장 a = (a+1)/2; b = (b+1)/2; 3. 1번 ..
2022.05.13 -
[코딩테스트] 프로그래머스 12981, 영어 끝말잇기
문제 https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 접근 1. 각각의 사람이 어떤 단어를 말했는지 저장하기 위해서 Map 타입으로 ..
2022.05.11 -
[코딩테스트] 프로그래머스 87946, 피로도
문제 https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 접근 순열을 DFS로 이용해서 탐색함 선택한 던전의 순서로 Play하고 Play한 던전의 개수의 최대값을 저장함 코드 public class Solution{ int answer = 0; public int playDungeon(int k, int[][] sd) { int cnt = 0; for(int i = 0; i < sd.length; i++)..
2022.05.03 -
[코딩테스트] 프로그래머스 72441, 메뉴 리뉴얼
문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 접근 조합을 이용해서 orders 배열에서 course 배열안에 있는 원소값 만큼 뽑습니다. 조합을 통해 나온 코스메뉴 조합을 해시 맵에 넣어 카운팅합니다. 해시 맵에 있는 값중에서 제일 큰 값을 결과 배열에 추가합니다. 코드 public class Solution{ public void combination(char[] arr, boolean[] chose..
2022.05.02 -
[코딩테스트] 프로그래머스 1845, 단체사진 찍기
문제 https://programmers.co.kr/learn/courses/30/lessons/1835 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 접근 8명의 프렌즈들을 한 줄로 세우는 경우의 수는 8! = 40320 가지입니다. 이는 8명에 대한 순열을 나타냅니다. 8명의 순열을 탐색하기 위해서 DFS 순회를 사용하였습니다. 만약 1번의 순회(한 줄로 세우기)가 완료되었다면 입력 받은 조건들(data)을 검사하고 조건에 맞지 않으면 카운트 하지 않습니다. 프렌즈들의 저장 구조는 해시 맵(posit..
2022.04.29