분류 전체보기
-
백준 16235 나무 재테크(자바) - 구현코딩테스트 2025. 7. 4. 11:14
되게 간단한데 생각보다 계속 틀렸던 문제.오류 원인: 처음에 list를 PriorityQueue로 구성하여 알아서 정렬되도록 했는데 이렇게 하다보니 list를 for문으로 돌면서 체크하는 부분에서 그 뒤에 삽입되는 나이가 1인 나무들로 인해 내가 예상했던 순서대로 list에 들어있지 않아 오답이 계속 나왔다.list를 ArrayList로 선언한 뒤 정렬해서 사용하는 것이 안전.또, 죽은 나무가 있기 때문에 겨울이 끝나기 전에 새로운 list를 만들어 죽은 나무를 빼줘야 한다.import java.util.*;//1. 봄 : 나무가 나이만큼 양분 get, 나이 1 증가 // 여러개 나무 있다면 어린 나무부터 양분 get// 양분 부족해 나이만큼 못 먹으면 즉시 죽음//2. 여름 : 봄에 죽은 나무가 양분으..
-
백준 15683번 감시(자바) - 삼성 sw 역량 인증, dfs/bfs코딩테스트 2025. 6. 18. 10:01
문제 풀이1. dfs를 이용해 모든 가능한 방향의 경우의 수를 탐색한다.2. bfs를 이용해 탐색 후 사각지대 파악한다.import java.util.*;class Main { static class CCTV { int x,y,num; List dir = new ArrayList(); CCTV (int x, int y, int num) { this.x = x; this.y = y; this.num = num; } public void addDir(int d) { dir.add(d); } } static int n,m; static ..
-
백준 14891 톱니바퀴(자바) - 삼성 sw 역량인증, 구현코딩테스트 2025. 6. 13. 14:19
오답- checkDir 함수에서 방향값을 넣어줄 때 바로 옆에 있는 바퀴의 반대 방향이 아니라 파라미터로 받은 dir의 반대 방향을 넣어줘서 오류가 발생했다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;class Main { static int[][] wheel; public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
-
백준 14503번 로봇청소기 (자바) - 삼성 sw 역량 인증코딩테스트 2025. 6. 10. 17:46
방향 전환 시에 (d+3)%4 부분을 처음에 (4+(d-i))%4 로 한 후 d를 갱신시키지 않는 방법으로 했다가 오답이 나왔다.import java.util.Scanner;class Main { static int dx[] = {-1,0,1,0}; static int dy[] = {0,1,0,-1}; static int n,m; static int[][] map; public static void main(String args[]) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); int r = sc.nextInt(); int c ..
-
백준 14502번 연구소(자바) - 삼성 sw 역량인증, dfs/bfs코딩테스트 2025. 6. 10. 14:05
문제풀이1. dfs를 활용해서 벽을 세울 3칸을 정하는 모든 경우를 탐색한다.2. 각 경우마다 bfs를 이용해 바이러스를 퍼뜨린 후 바이러스에 오염되지 않은 부분의 수를 센다.import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;class Main { static int[][] map; static Queue virus; static int cnt = 0; static int answer = 0; public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt();..
-
백준 14501번 퇴사(자바) - 삼성 sw 역량인증, DP코딩테스트 2025. 6. 9. 16:45
문제 풀이1. 모든 날짜를 돌면서 해당 날짜에서 상담을 했을 경우 상담이 끝나는 날짜의 dp 값을 업데이트 함.(현재의 dp 값 + 오늘 날짜의 상담을 했을 경우의 값과 상담이 끝나는 날짜에 저장되어 있던 dp 값을 비교)2. 이렇게 할 경우 중간중간 0으로 채워지는 경우가 생기므로dp[i+1]이 비거나 더 작은 경우 dp[i] 값을 채워지도록 함.import java.util.Scanner;class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] t = new int[n]; int[] p = n..
-
백준 14500 테트로미노(자바) - 삼성 sw 역량 인증코딩테스트 2025. 6. 9. 15:03
문제 풀이1. 다른 모든 테트로미노는 dfs를 통해 depth가 4일 때의 모든 경우를 포함한다.2. ㅓ ㅗ 모양의 경우 depth가 2일 때 다음 노드를 탐색했다고 생각하고, 실제 노드는 움직이지 않고 다음 dfs를 진행한다.(dfs(x, y, depth+1, cnt+다음 노드의 값))import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;class Main { static int[][] map; static int[] dx = {-1,1,0,0}; static int[] dy = {0,0,-1,1}; static bo..
-
백준 15685번 드래곤 커브(자바) - 삼성 sw 역량인증코딩테스트 2025. 6. 5. 17:25
문제 풀이 1. List에 현재 드래곤 커브의 각 변마다의 방향 정보를 모두 저장한다.2. 끝점을 기준으로 List를 끝에서부터 탐색하며 방향값 + 1(왼쪽으로 90도 회전한 방향) 으로 끝점을 이동시킨 후 visited 체크를 해준다 import java.util.ArrayList;import java.util.List;import java.util.Scanner;class Main { static int[][] map; static int[] dx = {1,0,-1,0}; static int[] dy = {0,-1,0,1}; public static void main (String args[]) { Scanner sc = new Scanner(System.in..