SW Expert Academy(5)
-
SWEA_1949_[모의 SW 역량 테스]등산로 조성
1 구분: DFS 언어: Java 전략 경로를 탐색하는 것이기 때문에 DFS를 이용한다. 한번 부술 수 있기 때문에 부순 여부를 늘 확인한다. 방문 처리와 해제를 꼭 한다. 등산로는 자를 때 가장 조금만 자른다. 2. 코드 import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; public class Solution { static int n, k, max; static int[][] map; static boolean[][] visit; static int[] dx = {0,0,-1,1}; static int[] dy = {-1,1,0,0}; public static void main(String[] args) { S..
2021.10.17 -
SWEA_5658_[모의 SW 역량테스트] 보물상자 비밀번호
1 구분: 구현 언어: Java 전략: 주어지는 16진수 수들을 문자열로 생각 문자열을 4등분 해야한다- StringBuffer의 substring을 이용한다 - 상자가 4각형이기 떄문에 --> 그 만큼의 길이가 나온다 각 문자열을 ArrayList에 저장한다 - 이미 존재하면 넣지 않는다 정렬한다 - Collections.sort(arr, Collections.reverseOrder()) 이용하면 내림차순 정렬 가능 16 진수로 변경한다 - Integer.valueOf(String str, 16)을 사용하면 쉽게 구할 수 있다. 2. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;..
2021.10.15 -
SW_1249_보급로
1 구분: 그래프 이론, 그래프 탐색, 너비 우선 탐색 언어: Java 전략 BFS와 다익스트라를 결합했다고 생각하자 나의 위치까지 오는데 걸리는 최소값을 저장하는 2차원 배열을 생성하자 탐색을 하면서 내 자리까지 오는데 최소값이 현재 내 비용과 여기까지 오는데 걸리는 최소값보다 크다면 갱신한다. 2.코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Solution { static class Node{ int y, x; Node(int y, int x){ this.y ..
2021.09.30 -
SWEA_1238_[S/W 문제해결 기본 10일차]-Contact
1. 구분: BFS, 그래프 이론 언어: Java 전략: BFS의 기본을 잘 생각한다. 정점을 방문한다면 큐에 넣고, 방문 처리를 한다. 2. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Solution { //인접 리스트로 그래프를 표현하기 위해서 클래스 생성 static class Node{ //그래프의 정점과 그 다음 노드 알 수 있는 링크 int vertex; Node link; public Node(int vertex, Node link) { this.vertex = vertex; this.link = link; } } //class를 만든다. 큐에 정점과 깊이를 넣을 것..
2021.08.23 -
SWEA2817_부분 수열의 합
1 구분: 부분 집합 언어: Java 전략 부분 집합을 만든다 각 숫자가 포함되었는지, 안되었는지 확인한다. by boolean array - 포함하면 true, 포함안하면 false 현재 '나'를 포함하고 재귀를 통해 그 다음 단계를 진행 현재 '나'를 뺴고, 재귀를 통해 그 다음 단계를 진행 '나' 가 마지막 요소까지 다 포함/불포함 여부를 결정했다면 부분집합의 값들을 더해 조건과 비교 함수를 종 2.코드 import java.util.*; public class Solution { //전체 숫자들을 받을 배열 static int[] arr; //숫자의 포함 여부를 확인하는 배열 static boolean[] check; //받는 숫자의 개수 static int n; //타겟 숫자 static int..
2021.08.11