Loading...

[정올] 1828. 냉장고 (java, 그리디)

www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=1101&sca=99&sfl=wr_hit&stx=1828 JUNGOL www.jungol.co.kr 아직도 잘 이해가 안됨 냉장고의 최고 기온 보다 화학물질의 최저 기온이 높을 때 냉장고 최고 기온을 갱신해준다. 온도 범위가 겹치는 부분이 있으면 그 사이의 온도중 특정 온도로 유지하면 둘 다 산다. 하지만 겹치지 않는 경우 냉장고 최고 기온보다 화학물질의 최저 기온 기준이 높을 때는 서로 겹치는 온도 범위가 없으 므로 새로운 냉장고가 필요하다. import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Mai..

[백준] 1074번 Z (JAVA, 완전 탐색 )

www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, N > 1이 라서 www.acmicpc.net 시간초과를 줄이기 위해서는 범위가 아닌 곳은 재귀로 추가 탐색하지 말아야된다. 만약 r보다 작거나 c보다 작은 곳은 ans값만 더해주고 건너뛴다. 더해주는 값은 (len/2)*(len/2)이다. len은 현재 탐색하는 사각형 한 변의 길이이다. import java.util.Scanner; public class Main { static int n,r,c; static int xpos[]= {0,1,0,..

[백준] 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..

[백준] 3040번 백설 공주와 일곱 난쟁이

www.acmicpc.net/problem/3040 3040번: 백설 공주와 일곱 난쟁이 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. www.acmicpc.net 사실 이중 포문으로 풀면 되는데 (아닌 2명만 찾으면 됨) 조합으로 해보라는거 같아서 조합으로 풀었다 import java.util.Scanner; public class Main { static int height[]=new int[9]; static boolean v[]=new boolean[9]; static int sum; public static void main(String[] args) {..

[백준] 2961번 도영이가 만든 맛있는 음식 (java, 부분 집합 subset)

import java.util.Scanner; public class Main { static int n,s,b; static int[][] a; static int ans=Integer.MAX_VALUE; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); a=new int[n][2]; for (int i = 0; i Math.abs(sour-bitter) && c!=0) { ans=Math.abs(sour-bitter); } return; } subset(cnt+1,sour*a[cnt][0],bitter+a[cnt][1],c+1); subset(cnt+1,sour,bitter,c); } }

[swexpert] 6808. 규영이와 인영이의 카드게임 (java, D3)

한 명의 카드 순서는 고정이라 다른 한 사람의 모든 카드 배열 9! 만큼 순열로 돌리면서 구하면 된다. 비기는 경우는 고려하지 않고 이기거나 지는 경우만 구한다 dfs로 nPr(순열)을 구현하자 import java.util.Scanner; public class Solution { static int t; static int card[]; static int a[],b[]; static int ans,ans2; static int sum,sum2; static int p[]; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[백준] 17406. 배열돌리기4 (JAVA)

www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net 거의 인내심 테스트 문제.. SW역량 어렵게 나오면 이렇게..? 시간 많이 잡아먹게 나올듯 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int n,m,k..

[백준] 16935번 배열돌리기3 (JAVA, C++)

www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 1. JAVA import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int n,m,r; static int[][] ..

[백준] 16926번 배열돌리기1 (java)

www.acmicpc.net/problem/16926 16926번: 배열 돌리기 1 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 1에서만 가능한 풀이인듯.. 어떻게 할지 고민하느라 손가는 대로 풀었는데 한번에 현재 위치+r에 있는 원소를 가져오는 방법을 강구해야 다음 난이도 문제들이 풀릴 것 같다. import java.util.Scanner; public class Main { static int n,m,r; static int[][] map..