알고리즘 - SWEA

    [SW expert Academy] SWEA 1218번 괄호 짝짓기 자바(Java)

    [D4] [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 - 1218 문제 링크 성능 요약 메모리: 19,088 KB, 시간: 103 ms, 코드길이: 1,789 Bytes 제출 일자 2024-01-02 00:18 풀이 방법 1. 괄호를 체크하는 것 2. 앞 괄호와 뒤 괄호를 나누어준다. 3. 문자를 받아서 앞 괄호를 받는다면 스택에 넣어준다. 4. 뒤 괄호를 받는다면 스택에 마지막으로 넣은 괄호(peek)가 대칭 하는지 확인 후 아니라면 false를 리턴한다. 풀이 코드 import java.util.Stack; import java.io.InputStreamReader; import java.io.BufferedReader; class Solution { static char[] front = {'(..

    [SW expert Academy] SWEA 1248번 공통조상 자바(Java)

    [D5] [S/W 문제해결 응용] 3일차 - 공통조상 - 1248 문제 링크 성능 요약 메모리: 26,212 KB, 시간: 141 ms, 코드길이: 2,271 Bytes 제출 일자 2023-12-31 19:06 해결 방법 1. 공통 조상을 찾는 두개의 정점 번호를 구한다. 2. 첫번째 정점을 먼저 호출해서 HashSet에 전부 넣어줌 3. 두번째 정점을 호출하면서 HashSet에 있다면 공통 조상으로 간주하고 commonAncestor에 저장 후 return 4. 그 후 서브 트리를 구해준다. 5. 서브 트리는 divide and conquer을 통해서 자식 노드가 0이라면 0을 더하고 0이 아니라면 재귀호출을 통해서 현재 노드의 개수와 더해서 리턴해준다. 풀이 코드 import java.io.Buffe..

    [SW expert Academy] SWEA 1247번 최적 경로 자바(Java)

    [D5] [S/W 문제해결 응용] 3일차 - 최적 경로 - 1247 문제 링크 성능 요약 메모리: 103,844 KB, 시간: 1,449 ms, 코드길이: 2,215 Bytes 제출 일자 2023-12-31 18:34 풀이 방법 1. N명의 고객을 방문하고 집으로 간다. 2. 회사, 집 위치, 각 고객의 위치는 이차원 정수 좌표(x,y)로 줌 3. 두 위치 사이는 |x1-x2| + |y1-y2| 로 계산 4. 회사에서 출발하여 모든 고객을 방문하고 집으로 돌아오는 경로 중 가장 짧은 것을 찾으려 함 5. 회사와 집의 좌표, 2~10명 사이 고객 좌표가 주어짐 6. 모두 방문하고 집으로 가는 경로 중 총 이동거리가 가장 짧은 경로의 이동거리 출력 a. 브루트 포스로 모든 경우의 수를 출력한다. b. 클래스..

    [SW expert Academy] SWEA 1211번 Ladder2 자바(Java)

    [D4] [S/W 문제해결 기본] 2일차 - Ladder2 - 1211 문제 링크 성능 요약 메모리: 31,400 KB, 시간: 144 ms, 코드길이: 2,236 Bytes 제출 일자 2023-12-30 02:42 풀이 방법 1. 출발 지점에서 사다리 발견시 dfs로 내려가준다. 2. 내려가면서 count 3. 내려가는 도중 오른쪽,왼쪽에 사다리 발견시 이동하면서 Count 4. 맨 아래까지 내려간 뒤 더 적거나 같으면 갱신해준다.(가장 큰 값을 출력하라고 했으므로) 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨..

    [SW expert Academy] SWEA 7465번 창용 마을 무리의 개수 자바(Java)

    [D4] 창용 마을 무리의 개수 - 7465 문제 링크 성능 요약 메모리: 26,272 KB, 시간: 139 ms, 코드길이: 1,772 Bytes 제출 일자 2023-12-27 14:26 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 방법 1. 아는 관계이거나 몇 사람을 거쳐서 알 수 있다. (= 전부 연결되어 있다.) 2. 무리의 개수를 카운트해야한다. 3. 같은 관계는 반복해서 주어지지 않는다. 4. dfs를 통해 방문처리해주면 된다. import j..

    [SW expert Academy] SWEA 1868번 파핑파핑 지뢰찾기 자바(Java)

    [D4] 파핑파핑 지뢰찾기 - 1868 문제 링크 성능 요약 메모리: 95,104 KB, 시간: 314 ms, 코드길이: 1,449 Bytes 제출 일자 2023-11-18 18:13 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do import java.util.*; class Solution { static char[][] map; static int n; static int result; public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); for..

    [SW expert Academy] SWEA 1210번 Ladder1 자바(Java)

    [D4] [S/W 문제해결 기본] 2일차 - Ladder1 - 1210 문제 링크 성능 요약 메모리: 107,508 KB, 시간: 310 ms, 코드길이: 946 Bytes 제출 일자 2023-11-18 17:18 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do 1. 100 x 100 배열에서 도착점 찾기 0: 길 x 1: 사다리가 있음 2: 도착지점 2. 값을 입력받으면서 마지막 도착지점의 좌표를 기억함 3. 내려가서 찾지말고 밑에서 위로 올라가기. 4. 올라가다가 좌우, 갈 수 있는 공간이 생기면 이동 후 올라가기 5. 현재 위치한 X값이 0이면(즉, 0번째 인덱스에 도착하면) break; 후 Y좌표..

    [SW expert Academy] SWEA 2819번 격자판의 숫자 이어 붙이기 자바(Java)

    [D4] 격자판의 숫자 이어 붙이기 - 2819 문제 링크 성능 요약 메모리: 88,128 KB, 시간: 292 ms, 코드길이: 1,163 Bytes 제출 일자 2023-11-18 15:07 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do 1. 4x4 격자판을 받음(배열 생성) 2. 동서남북 이동 가능(방향 벡터 사용, 인덱스 밖에 벗어나는지 확인하기) 3. 겹치는게 있을 수 있으므로 set에 넣어준다. 4. 각 출발점을 기준으로 dfs를 호출함(depth == 7 까지) 5. 시간 초과일 수 있지만 배열의 크기가 4x4밖에 안돼서 시간 초과 걱정 x import java.util.*; class So..