문제설명입력 & 출력 나의 풀이 컴퓨터의 개수 N과 각 컴퓨터 간의 연결 상태를 나타내는 2차원 배열 computers가 주어질 때 서로 연결된 컴퓨터들을 하나의 네트워크로 간주하고 전체 네트워크의 개수를 리턴하는 문제입니다. 해당 문제는 DFS로 연결된 노드들을 쉽게 찾을 수 있습니다. 먼저 Solution에서는 입력으로 주어지는 컴퓨터의 개수 n과 연결에 대한 정보 배열인 computers를 인자로 받습니다. 입력받은 컴퓨터의 개수만큼 노드가 있어야 하기 때문에 n만큼의 크기를 가지는 visited배열을 초기화를 해줍니다. 연결된 네트워크의 개수를 0으로 초기화해주고, 모든 노드들을 순회하는 반복문을 선언합니다. 만약 해당 노드가 아직 방문하지 않은 노드라면, dfs를 수행하여 해당 네트워크의 모든 ..
문제설명나의 풀이import java.util.*;class Solution { public String solution(String number, int k) { StringBuilder sb = new StringBuilder(); int start = 0 ; int idx = 0; for(int i = 0 ; i 이번 문제는 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하는 문제입니다. 예를 들자면 "1924"일 때 [19,12,14,92,94,24]가 되는데 여기서 가장 큰 수인 94가 정답입니다. 숫자를 하나씩 제거하면서 비교하는 것이 아니라 이 문제에서는 매번 가능한 범위 내에서 가장 큰 숫자..
문제설명입력 & 출력나의 풀이import java.util.*;class Solution { public int solution(int[] people, int limit) { int minWeight = 0; // 가벼운 사람을 가리킬 인덱스 int maxWeight = people.length-1; //무거운 사람을 가리킬 인덱스 int boat = 0; // 보트 수 Arrays.sort(people); //오름차순 정렬 while(minWeight 이번 문제는 무인도에 갇힌 사람들을 2명의 제한과 몸무게 제한도 있는 구명보트로 최대한 적게 구명보트를 사용하여 모든 사람을 구하는 문제입니다. 그리디 ..