전체 글

전체 글

    [백준] 14502번 : 연구소 Gold4(골드4) - JAVA[자바]

    [Gold IV] 연구소 - 14502 문제 링크 성능 요약 메모리: 294788 KB, 시간: 748 ms 분류 너비 우선 탐색, 브루트포스 알고리즘, 그래프 이론, 그래프 탐색, 구현 제출 일자 2024년 1월 7일 13:56:40 문제 설명 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크기가 N×M인 직사각형으로 나타낼 수 있으며, 직사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽으로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 일부 칸은 바이러스가 존재하며, 이 바이러스는 상하좌우로 인접한 빈 칸으로 모두 퍼져나갈 수 있다. 새로 세울..

    [백준] 12100번 : 2048(Easy) Gold2(골드2) - JAVA[자바]

    [Gold II] 2048 (Easy) - 12100 문제 링크 성능 요약 메모리: 15272 KB, 시간: 136 ms 분류 백트래킹, 브루트포스 알고리즘, 구현, 시뮬레이션 제출 일자 2024년 1월 6일 16:02:08 문제 설명 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 링크를 누르면 게임을 해볼 수 있다. 이 게임에서 한 번의 이동은 보드 위에 있는 전체 블록을 상하좌우 네 방향 중 하나로 이동시키는 것이다. 이때, 같은 값을 갖는 두 블록이 충돌하면 두 블록은 하나로 합쳐지게 된다. 한 번의 이동에서 이미 합쳐진 블록은 또 다른 블록과 다시 합쳐질 수 없다. (실제 게임에서는 이동을 한 번 할 때마다 블록이 추가되지만, 이 문제에서 블록이 추가되는 경우는 없다)..

    [SW expert Academy] SWEA 7829번 보물왕 태혁 자바(Java)

    [D4] 보물왕 태혁 - 7829 문제 링크 성능 요약 메모리: 17,688 KB, 시간: 103 ms, 코드길이: 1,017 Bytes 제출 일자 2024-01-05 23:50 접근 방식 1. 한 자연수의 모든 약수를 주어지고 자연수를 찾는 것이다. 2. P의 최소값 x 최대값을 구한다면 자연수를 구할 수 있다. 3. (혹은 값이 한개 있다면 제곱수) 풀이 코드 import java.util.StringTokenizer; import java.util.Arrays; import java.io.BufferedReader; import java.io.InputStreamReader; class Solution { public static void main(String args[]) throws Except..

    [SW expert Academy] SWEA 1233번 사칙연산 유효성 검사 자바(Java)

    [D4] [S/W 문제해결 기본] 9일차 - 사칙연산 유효성 검사 - 1233 문제 링크 성능 요약 메모리: 18,612 KB, 시간: 105 ms, 코드길이: 1,313 Bytes 제출 일자 2024-01-04 23:18 접근 방법 1. 예제로 있는 그래프는 중위순회를 통하여 계산이 되어야하는 그래프이다. 2. 중위 순회 그래프의 특징은 피연산자는 전부 리프 노드여야한다는 것이다. 3. 값을 입력 받으면서 만약 입력 받은 값이 - 피연산자라면 리프 노드인지 확인하고 ( 자식 노드가 없어야 함) - 연산자라면 리프 노드가 아닌지 확인한다. ( 자식 노드가 있어야 한다.) 풀이 코드 import java.util.StringTokenizer; import java.io.BufferedReader; impo..

    [SW expert Academy] SWEA 1231번 중위순회 자바(Java)

    [D4] [S/W 문제해결 기본] 9일차 - 중위순회 - 1231 문제 링크 성능 요약 메모리: 19,112 KB, 시간: 125 ms, 코드길이: 1,065 Bytes 제출 일자 2024-01-04 00:54 접근 방법 1. 완전 이진 트리임으로 배열로 할 수 있다. 2. 이진 트리에서는 왼쪽 자식 노드는 현재 인덱스 * 2, 오른쪽 자식은 현재 인덱스 * 2 + 1이다. 3. 인덱스를 구한후 N보다 작다면 호출 한다. ( 중위 순회는 LVR(왼쪽가운데오른쪽 순서로 진행) 4. 순서대로만 구현하면 아주 쉬운 문제 풀이 코드 import java.util.StringTokenizer; import java.io.BufferedReader; import java.io.InputStreamReader; cl..

    [SW expert Academy] SWEA 1227번 미로2 자바(Java)

    [D4] [S/W 문제해결 기본] 7일차 - 미로2 - 1227 문제 링크 성능 요약 메모리: 24,708 KB, 시간: 148 ms, 코드길이: 2,406 Bytes 제출 일자 2024-01-02 23:22 접근 방법 1. 간단한 미로 문제이다. 2. 테두리는 벽이기 때문에 배열 처리를 따로 해주지 않아도 됨 3. 배열을 입력 받으면서 시작 지점과 목표 지점을 저장한다. 4. 상,하,좌,우 확인 후 예외상황(벽이거나,방문했을 때)이라면 넘어간다. 5. 예외가 아니라면 방문 처리 후 큐에 삽입해준다. 풀이 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Queue; import java.util.Lin..

    [SW expert Academy] SWEA 1219번 길찾기 자바(Java)

    [D4] [S/W 문제해결 기본] 4일차 - 길찾기 - 1219 문제 링크 성능 요약 메모리: 17,964 KB, 시간: 107 ms, 코드길이: 1,725 Bytes 제출 일자 2024-01-02 00:50 접근 방법 1. 일단 테스트 케이스는 10개임 ( 명시가 안돼서 불편했다.) 2. 그래프는 총 100개의 노드가 있고 0부터 99까지 있음 3. 0부터 99까지 가야한다. 최대 간선은 두개뿐이기에 배열은 [100][2]로 생성 4. 만약 [start][0]이 존재한다면 [1]에 저장한다. 5. 스택에 넣어준 뒤 빼주면서 visit에 방문처리를 해준다. 6. 만약 방문이 된 곳이라면 넘어가고 방문 하지 않았다면 스택에 넣어줌 풀이 코드 import java.util.StringTokenizer; im..

    [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 = {'(..