Java (58) 썸네일형 리스트형 [코딩테스트] SWEA 1812 수정이의 타일 자르기(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1812 수정이의 타일자르기입니다.포인트개인적으로 해당 문제가 조금 어려웠습니다.타일을 자를때 하나의 타일에서 여러 타일을 만들 수도 있고, 못만드는 경우를 고려해야합니다.그래서 저는 잘랐을 때의 타일을 저장하기로 하였습니다.PriorityQueue를 활용하여 가장 큰 길이를 가진 타일을 나오도록 만들었습니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util... [코딩테스트] SWEA 3503 초보자를 위한 점프대 설치하기(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 3503 초보자를 위한 점프대 설치하기입니다.포인트해당 문제에서 구하라는 부분은 두 점프대의 높이차 중에서 가장 큰 값을 최소화하는 것입니다.그래서 오름차순(내림차순)으로 정렬하면 차이가 적지 않나 라고 생각했지만, 점프대는 원형으로 설치하는 것이 문제입니다.따라서 배열을 원형이라고 생각하여 배열의 0번의 왼쪽 인덱스는 N-1, 오른쪽 인덱스는 1로 생각하여 정렬된 기준으로 점프대의 높이를 설치합니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputSt.. [코딩테스트] SWEA 5521 상원이의 생일파티(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 5521 상원이의 생일파티입니다.포인트이 문제는 그래프 탐색 문제입니다.특정 인물(상원이, 번호 1번)을 기준으로 자신의 친구와 친구의 친구까지 초대할 수 있는 사람 수를 구하는 것이 목적입니다. 즉, 깊이 2까지 탐색하는 문제로, 단순한 BFS 또는 DFS가 아니라 범위를 제한한 탐색이 핵심입니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Lis.. [코딩테스트] SWEA 3421 수제 버거 장인(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 3421 수제 버거 장인입니다.포인트중·고등학교 때 배운 부분집합 개념을 떠올려 보면, 원소의 개수가 N개일 때 가능한 모든 부분집합의 수는 2ⁿ임을 알 수 있습니다.이 문제에서도 모든 음식 조합(부분집합)을 고려하되, 서로 같이 먹으면 안 되는 음식 쌍(충돌 쌍)이 포함된 조합은 제외해야 합니다.초기에는 DFS를 이용해 완전탐색을 시도했지만, 시간 초과가 발생하였고, 더 빠른 탐색 방식이 필요했습니다. 그 대안으로 선택한 것이 비트마스킹(bit masking)입니다.비트마스킹은 집합의 포함 여부를 비트(0 또는 1)로 표현할 수 있기 때문에, 모.. [코딩테스트] SWEA 6782 현주가 좋아하는 제곱근 놀이(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 6782 현주가 좋아하는 제곱근 놀이입니다.포인트해당 문제의 가장 포인트는 Math.sqrt()의 반환값입니다.먼저 자바의 Math.sqrt() 스펙을 살펴보겠습니다./** * Returns the correctly rounded positive square root of a * {@code double} value. * Special cases: * If the argument is NaN or less than zero, then the result * is NaN. * If the argument is positive infinity, the.. [코딩테스트] SWEA 7793 오! 나의 여신님(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 7793 오! 나의 여신님입니다.포인트해당 문제에서는 악마의 손아귀가 먼저 진행되어야 합니다.만약 악마의 손아귀를 통해서 전파된 곳에 수연이가 이미 있는 곳이라도 사실 크게 의미가 없습니다.왜냐하면 이미 수연이가 있는 위치는 수연이가 도달한 공간이기 때문에 다음 시간에는 수연이가 이동하기에 부식된 공간과는 수연이의 위치와 무관합니다. 수연이가 고려할 것은 다음 위치에 악마의 손아귀가 있는지 없는지 입니다.따라서 BFS 탐색을 통해서 문제를 진행합니다.소스코드import java.io.BufferedReader;import java.io.IOExce.. [코딩테스트] SWEA 1256 K번째 접미어(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1256 K번째 접미어입니다. 해당 문제도 솔직히 효율적인 코드인지는 잘 모르겠습니다만, 제가 활용한 알고리즘을 정리하겠습니다.포인트Java의 substring() method를 활용하여, 접미어를 구하고, Collections.sort를 진행합니다.그 이후 k번째 접미어를 찾아줍니다.소스코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections.. [코딩테스트] SWEA 1259 금속막대(Java) 제가 공부한 내용을 정리하는 블로그입니다.아직 많이 부족하고 배울게 너무나도 많습니다. 틀린내용이 있으면 언제나 가감없이 말씀해주시면 감사하겠습니다😁SWEA 1259 금속막대입니다.포인트문제의 포인트를 잡기 앞서, 조건을 몇개 추가하여야 문제의 해결이 가능합니다.첫째, 나사들의 중복은 존재하지 않아야합니다. 예를 들어 숫나사의 값들에는 중복이 없으며, 암나사의 값들에는 중복이 없습니다.둘째, 남는 나사는 없습니다. 즉 모든 나사는 연결이 가능합니다. 이러한 조건을 바탕으로 맨 첫번째 숫나사는 어떠한 나사의 암나사와도 일치하지 않음을 알 수 있습니다.첫번째 나사를 기준으로 암나사의 값과 숫나사의 값이 일치하는 나사를 찾고 그 다음 나사로 반복해주면 문제를 해결할 수 있습니다.소스코드import java... 이전 1 2 3 4 ··· 8 다음