목록ArrayList (3)
공부하는 스누피
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 생각과정 - 팀원이 추가될 때마다 기존 팀원들과 추가된 팀원 상호간 더해지는 능력치를 추가 - 팀 구성이 완료되면 능력치 차이 최솟값 구하기 (dfs) 구현 package baekjoon; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class b14889 { public int minA = Integer.MAX_..
https://programmers.co.kr/learn/courses/30/lessons/42840# 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 생각과정 - 3가지 패턴별로 답안을 작성한다 - DFS 함수를 만들어 완전탐색 알고리즘을 재사용한다 - 재귀를 사용해 문제가 많을수록 시간이 오래 걸리는 단점이 있다. => 채점할 때 효율성 검사를 안하는걸 보니 상관없는듯? 구현 import java.util.ArrayList; class Solution { public int[] solution(int..
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수�� programmers.co.kr 생각 과정 - 완주자, 참가자 한명씩 이름을 비교하려면 시간복잡도가 O(n^2)이나 된다. - 순회를 최대한 적게 하는 방법=> 이름 첫글자로 사전을 만들어서 비교하자 => 이차원 배열로 만들었지만 요소 삭제/추가하는 과정에서 한번 순회가 필요함. - ArrayList 배열로 만들면 추가적인 for문 없이 사전을 간편하게 관리할 수 있음...