Loading...

[swexpert] 3307. 최장 증가 부분 수열 (java, D3)

n이 작아서 가능한 이중 포문 방법이다. 현재 수보다 이전 인덱스에 작은 수가 있으면 그 수에서의 최대 길이+1과 자기 자신의 길이 중 가장 긴 것이 현재 위치에서 가장 긴 길이이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Solution { static int t; static int n; static int[] arr; static int[] len; public static void main(String[] args) throws NumberFor..

[swexpert] 1223. 계산기2 (java, D4)

입력이 끝날 때까지 정보를 입력받는다 BufferedReader의 경우 input이 null이면 끝난다 +는 무시하고 숫자를 스택에 계속 넣어주고 *은 스택 타입을 int로 설정했기 때문에 -1로 해서 넣어준다. 숫자를 넣기 전 스택 최상의가 -1(*)라면 숫자를 곱해줘야 하므로 현재 숫자와 스택에서 *이전의 숫자 (pop을 두번 해준다) 를 곱해서 다시 스택에 넣어준다. 마지막에 스택에 들어있는 있는 숫자들을 모두 더해주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import j..

[백준] 2564번 경비원 (java)

이차 배열 겉을 도므로 겉을 쭉 늘여서 하나의 직선으로 본다 0 ~ m은 북쪽 m~m+n은 동쪽 m+n~ m+n+n 서쪽 영역 이런 식이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int m,n; static int n_store; static int[]stores; static int dir,len; //방향과 거리 static int sum; public static void main(String[] args) throws NumberFormatException, IO..

[swexpert] 3499. 퍼펙트 셔플 (JAVA, D3)

카드 적힌 글자 A B C D E 인덱스 0 1 2 3 4 가 있으면 A는 인덱스가 i+n/2+1 인 D와 매칭이 된다. 첫 번째 묶음을 길이가 N/2만큼 나눌 건데 홀수인 경우만 하나를 더 넣어주므로 N/2+1 처럼 1 처해준다. 따라서 첫 번째 묶음의 마지막 인덱스는 N이 짝수인 경우 N/2이고 홀수인 경우 N/2+1이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { static int t,n,last; static String[] card; public static void m..

[swexpert] 1861. 정사각형방 (D4 , java, dfs풀기)

bfs풀 거 같은데 dfs로 해보라해서 dfs로 풀어봤다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Solution { static int t,n; static int[][] map; static int[] xpos= {0,0,1,-1}; static int[] ypos= {1,-1,0,0}; static int ans,cnt,place; public static void main(String[] args) throws NumberFormatException, IOException { Buffered..

[백준] 2493번 탑(java)

package day03; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; import java.util.Stack; import java.util.StringTokenizer; //5 // //5 3 2 1 4 public class Main { static int n; static int[] towers; public static void main(String[] args) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); ..

[swexpert] 5432. 쇠막대기 자르기 (JAVA)

1. ( 괄호라면 cnt+1해줘서 막대의 개수를 늘려준다. 2. ) 괄호가 왔을 때 바로 직전이 ( 라면 레이저라서 바로 직전의 ( 하나를 제외한 (((들의 개수를 구해주면 된다. 3. 만약 ) 괄호의 바로 전이 (가 아니라면 해당 막대의 끝이므로 ans+1을 더해주고 막대의 개수 cnt를 한개 빼준다 import java.util.Scanner; public class Solution { static int t; static int ans; static int cnt; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[swexpert] 11387. 몬스터사냥 (java)

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

[swexpert] 2805. 농작물 수확하기 (java)

1) 열의 인덱스가 0, 1, 2, 3 만큼 증가할 때 사각형 가운데 n/2까지는 열의 인덱스(i) +1 까지 왼쪽 오른쪽을 더해가며 검사한다 2) i== n/2+1 부터는 검사 횟수를 n-i 번 왼쪽 오른쪽을 더하며 (총 검사횟수는 줄어듬) 더한다. import java.util.Scanner; public class Solution { static int t; static int n; static int[][] farm; static int sum; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc