Loading...

[swexpert] 7272. 안경이 없어 (JAVA, D3)

import java.util.Scanner; public class Solution { static int t; static String a="CEFGHIJKLMNSTUVWXYZ"; static String b="ADOPQR"; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[swexpert] 프로세서 연결하기 (java, dfs, 백트래킹)

import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Solution { static int t,n; static int[][] map; static List core; static boolean[][] vis; static int[] xpos= {1,-1,0,0}; static int[] ypos= {0,0,1,-1}; static int res; static int max_connect; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc res) ..

[swexpert] 2105. 디저트 카페 (java, 시뮬레이션, 모든 탐색)

좀 되는 대로 푼 시뮬 문제라서 다른 방법도 공부해야겠다 import java.util.Scanner; public class Solution { static int t,n; static int[][] map; static int [] xpos= {1,-1,-1,1}; static int [] ypos= {1,1,-1,-1}; static int ans; static boolean vis[]; static boolean vis_dir[]; static int sy,sx; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[swexpert] 3234. 준환이의 양팔 저울 (java, 완전탐색)

nPr을 먼저해서 n개의 무게추를 순서를 모두 다르게 정렬한 다음 subset으로 왼쪽 혹은 오른쪽(왼쪽의 무게가 더 높도록 제한)으로 넘겨주면서 무게를 계산한다. 가능한 경우의 수를 리턴한다. import java.util.ArrayList; import java.util.Scanner; public class Solution { static int n,t; static int weight[]; static int sum; static int answer; static ArrayList arr=new ArrayList(); public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int ..

[swexpert] 4012. 요리사 (java)

import java.util.ArrayList; import java.util.Scanner; public class Solution { static int t,n; static int[][] table; static int answer; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[백준] 1987번 알파벳 (java, dfs)

www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 알파벳을 0~25의 숫자로 바꿔서 boolean체크를 해준다 import java.util.Scanner; public class Main { static int r,c; static String map[]; static int[] xpos= {0,0,1,-1}; static int[] ypos= {1,-1,0,0}; static int ans=Integer.MIN_VALUE; static boolean..

[swexpert] 1247. 최적 경로 (TSP, 외판원순환 문제, JAVA)

swexpertacademy.com/main/solvingProblem/solvingProblem.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 모든 곳을 방문하는 여러 경로 중 가장 짧은 거리를 구하는 문제 이 문제는 시간 초과를 내지는 않는 문제 같아서 그냥 DFS 돌리면 되는데 visit배열 대신 비트마스크를 썼다. import java.util.ArrayList; import java.util.Scanner; public class Solution { static int n,t; static ArrayList pos; static Integer[] home; static int dis=Intege..

[백준] 17135번 캐슬 디펜스 (java)

www.acmicpc.net/problem/17135 17135번: 캐슬 디펜스 첫째 줄에 격자판 행의 수 N, 열의 수 M, 궁수의 공격 거리 제한 D가 주어진다. 둘째 줄부터 N개의 줄에는 격자판의 상태가 주어진다. 0은 빈 칸, 1은 적이 있는 칸이다. www.acmicpc.net 어디가 틀린지 찾느라 힘들었다... 1. 궁수의 위치는 nC3으로 배치해 놓은 다음 가장 많은 적을 처치하는 경우는 언제인지를 찾는다. 2. 성의 위치(행) castle을 n으로 놓고 성이 점점 위로 올라가는 것처럼 1씩 줄인다. castle-=1 왼쪽부터 검사해서 길이가 최소이면 해당 위치를 저장해놓고 모든 행을 봤을 때 길이가 가장 작았던 곳을 enemy 배열에 추가한다. 여러 궁수가 같은 적을 공격할 수 있기 때문에..

[백준] 1931번 회의실 배정 (java, 그리디)

www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 회의실 끝나는 시간을 첫 번째 기준으로, 끝나는 시간이 같다면 시작시간 기준으로 오름차순 정렬한다. import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Scanner; public class Main { static class MeetingRoom implements Comparable{ int start,end; public MeetingRoom( int start, int end) { super(); this...

[백준] 2839번 설탕 배달 (java)

www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 완전탐색 + 메모이제이션 기법을 사용 만약 같은 무게를 다시 재귀로 들어올 경우 기존보다 사용한 봉지의 수가 더 작을 경우만 vis[해당무게]를 업데이트하고 완전 탐색을 돌려준다. 만약 같은 무게인데 사용한 봉지의 수가 더 많은 경우는 더이상 검사할 필요가 없다. import java.util.Scanner; public class Main { static int n; static int ans=Integer.MAX_VA..