good_da22 's devLog

Coding Test/SW Expert Academy 5

SWEA 4008번 [모의 SW 역량테스트] 숫자 만들기 (JAVA

SWEA 4008번 [모의 SW 역량테스트] 숫자 만들기 (JAVA) 문제 풀이 각 연산자의 개수 만큼 빈 공간을 선택, 선택된 빈 공간에 연산자 대입 다음 연산자에서 앞 선 작업을 반복 동일한 연산자가 들어갈 위치를 선택하면 순서는 상관 없다. 이미 연산자가 위치한 경우 다음 연산자는 들어갈 수 없다. 코드 import java.io.*; import java.util.*; public class Solution { static char[] operator = { '+', '-', '*', '/' }; static int[] count = { 0, 0, 0, 0 }; static int[] numbers; static char[] selected..

SWEA 5656번 [모의 SW 역량테스트] 벽돌 깨기 (JAVA)

SWEA 5656번 [모의 SW 역량테스트] 벽돌 깨기 (JAVA) 문제 풀이 구슬을 놓을 위치 결정, 중복 순열 구슬은 단위 연산에서 전후 선택과 상관없이 어느 위치에도 놓아질 수 있다. 선택된 구슬 위치에서 처음으로 만나는 벽돌 선택 처음으로 만나는 벽돌에서부터 주어진 조건에 따라 4방 탐색으로 벽돌 제거 단위 연산에서 제거 가능한 모든 벽돌을 제거한 후 빈 공간이 있을 경우 벽돌은 밑으로 떨어진다. 코드 import java.io.*; import java.util.*; public class Solution { static int[] dx = { -1, 1, 0, 0 }; static int[] dy = { 0, 0, -1, 1 }; static int N, W, H; static int[][] ..

SWEA 1952. [모의 SW 역량테스트] 수영장 (JAVA)

SWEA 1952. [모의 SW 역량테스트] 수영장 (JAVA) 문제 알고리즘 분류 메모이제이션 그리디 dfs 풀이 메모이제이션 dp를 활용하는 경우 각 과정에서 최소값을 저장하고 갱신 조건에 따라 최솟값을 갱신한다. dfs를 활용하는 경우 모든 경우를 탐색하며 조건을 만족하는 경우 최솟값 갱신 코드 // 메모이제이션 public class Solution { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(..

SWEA 1954번 달팽이 숫자

1954번 달팽이 숫자 문제 난이도 D2 풀이 숫자를 대입할 인덱스의 유효성을 확인 인덱스를 순회하며 조건에 따라 방향을 설정 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; // 1954. 달팽이 숫자 D2 // https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PobmqAPoDFAUq public class Solution { public static int[] d..

SEWA 1210번 [S/W 문제해결 기본] 2일차 - Ladder1

1210번 [S/W 문제해결 기본] 2일차 - Ladder1 D4 문제 난이도 D4 풀이 사다리의 도착 지점으로 향하는 출발 지점 찾기 도착 지점은 한 개로 정해져 있기 때문에 도착지점부터 위로 올라가며 출발지점을 찾는다. 갈림길이 나왔을 때 방향을 선택하기 지나온 경로를 확인할 방법이 필요하다. 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; // ..