본문 바로가기

알고리즘/SWEA60

[Java] SWEA 4613번 러시아 국기 같은 깃발 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 맨 첫번째(0)와 맨 마지막 열(N)을 제외한 나머지 열마다 만들 수 있는 색의 모든 부분집합을 만들어 가장 최소한으로 색을 새로 칠하는 칸을 찾게하여 해결했습니다. 이때, 모든색은 반드시 한번씩 나와야하므로 부분집합을 만들때 맨 마지막 열(N) - 2인 열까지 전부 'W'일 경우 마지막에는 'B'를 추가해야합니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public .. 2021. 3. 15.
[Java] SWEA 1767번 프로세서 연결하기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문제에 주어진 조건을 처리하도록 dfs를 처리하여 해결했습니다. 이때, 아무것도 연결안하고 넘어가는 부분까지 dfs로 넘겨야 해결할 수 있습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static int N, maxCoreCnt, answer; public static int[][] maxinos; public .. 2021. 3. 14.
[Java] SWEA 3347번 올림픽 종목 투표 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 A 배열 중에서 Bi보다 작거나 같은 수가 나오면 그 위치가 가장 앞쪽에 있는 종목이 되므로 미리 만들어둔 vote 배열의 해당 인덱스 값을 +1씩 증가 시키고 마지막으로 vote 배열 중 가장 큰 값을 갖고있는 인덱스를 찾아 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { public static int N, M, an.. 2021. 3. 12.
[Java] SWEA 7854번 최약수 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 최약수를 구해보면 한자리의 숫자는 1, 2, 5 두자리의 숫자는 10, 20, 25, 50 세자리이상의 숫자는 100...0, 125...0, 200...0, 250...0, 500...0 이 됩니다. 우선 입력받은 숫자의 자리수 이하의 최약수는 전부 포함되야하므로 작은 자리수의 최약수의 개수를 모두 더해주었습니다. 다음으로 한자리일 경우 각 자리수의 최약수를 저장한 num배열의 1행을, 두자리일 경우 2행을, 세자리 이상일 경우 3행을 이용해서 최약수보다 입력받은 수가 크거나 같으면 해당 최약수는 포함되므로 개수를 +1하여 해결했습니다. 이때, 세자리 이상.. 2021. 3. 11.
[Java] SWEA 6719번 성수의 프로그래밍 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 처음에는 순열로 접근했다가 시간초과가 발생해서 문제를 다시 보았는데 굳이 순열을 쓸 필요없이 입력받은 과목의 수준을 정렬해서 숫자가 큰 순서대로 K개를 뽑아 K개에서 가장 작은 수 부터 실력을 갱신하여 해결했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Solution { public static i.. 2021. 3. 10.
[Java] SWEA 1238번 Contact SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 문제에서 요구한 연락이 퍼지는 속도는 일정하다는 규칙이 있기에 bfs를 사용하여 해결했습니다. 간선을 입력받을 때에는 ArrayList를 사용하여 동적으로 할당받을 수 있게 했습니다. 또한, visit를 이용하여 각 정점마다의 연락받은 순번을 저장하여 문제에서 요구한 정답을 찾을 수 있게 했습니다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Linked.. 2021. 3. 9.