Loading...

[백준] 2846번 오르막길 (java, 구현)

www.acmicpc.net/problem/2846 2846번: 오르막길 상근이는 자전거를 타고 등교한다. 자전거 길은 오르막길, 내리막길, 평지로 이루어져 있다. 상근이는 개강 첫 날 자전거를 타고 가면서 일정 거리마다 높이를 측정했다. 상근이는 가장 큰 오르 www.acmicpc.net import java.util.Scanner; public class Main { static int answer; static int n; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); int prev=0;//이전수 int cur=0;//현재수 int min=0;//오르막길 최솟값 boolean is..

[백준] 14467번 소가 길을 건너간 이유 1 (java, 구현)

www.acmicpc.net/problem/14467 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net import java.util.Arrays; import java.util.Scanner; public class B_14467_소가길을건너간이유1_Main { static int n; static int[] cow; public static void main(String[] args) { Scanner sc=new Scanner(System.in); int answer=0; n=sc.nextInt(); cow..

[백준] 1013번 달팽이 (구현, java)

www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net 밖이 아니라 안에서부터 빙글빙글 돌아나가는 문제이다. 하반기 삼성 오후 2번째에서 이거 활용해서 나오는 문제가 나왔었는데 지금은 금방 풀었는데 시험장에서는 긴장해서 좀 버벅거렸다. ㅠㅠ import java.util.Scanner; public class B_1913_달팽이_Main { static int n,m; static int[][] map; static int[] ypos= {-1,0,1,0}; stat..

[백준] 11728번 배열 합치기 (java)

www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 병합 정렬을 구현하는 문제이다. (재귀 없이 간단하게) 두 배열을 입력받아 정렬한 후 더 작은 값을 먼저 결과값에 넣어주면 된다. 알고리즘은 같은데 마지막에 결과배열의 값을 n번 for문 돌며 출력했더니 에러가 나더라. stringbuilder로 문자열로 만들어서 한 번에 출력했더니 통과됐다 package algo0428; import java.util.Arrays; impo..

[백준] 15797번 기차가 어둠을 헤치고 은하수를 (구현, java)

www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net package algo0428; import java.util.Arrays; import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class B_15785_기차가어둠을헤치고_Main { static int n,m; static int[][] train; public static void main(String[..

[swexpert] 1949. 등산로 조성 (java, dfs)

높이를 깎아서 다른 높이를 전달할 수 있다 => 같은 위치더라도 다른 높이로 들어온다. 방문정보를 어떻게 전달할 지 몰라서 방문 처리가 어려워 dfs로 했다 package algo0424; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Pos{ int y,x; int cut; intnum; int len; public Pos(int y, int x,int cut,int num,int len) { super(); this.y = y; this.x = x; this.cut=cut; this.num=num; this.len=len; } } public class S_1949_등산로조성_Solution { ..

[백준] 17142번 연구소3 (java, bfs)

www.acmicpc.net/problem/17142 17142번: 연구소 3 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고 www.acmicpc.net 활성 바이러스를 조합으로 구한 후 돌린다. 활성 바이러스는 비활성 바이러스가 있는 칸을 지나갈 수 있다. package algo0424; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; class Pos{ int y,x; public Pos(int y, int x) { super..

[백준] 5525번 IOIOI (JAVA, 문자열)

www.acmicpc.net/problem/5525 5525번: IOIOI 첫째 줄에 N이 주어진다. 둘째 줄에는 S의 길이 M이 주어지며, 셋째 줄에 S가 주어진다. (1 ≤ N ≤ 1,000,000, 2N+1 ≤ M ≤ 1,000,000) www.acmicpc.net import java.util.Scanner; public class Main { static int n,m; static String s; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); m=sc.nextInt();//s의 길이 s=sc.next(); StringBuilder sb=new StringBuilder(); f..

[백준] 1024번 수열의 합 (java, 수학)

www.acmicpc.net/problem/1024 1024번: 수열의 합 첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다. www.acmicpc.net 반례 3 3 => 0 1 2 3 2 => 1 2 5050 99 => 1부터 100까지 10 4 => 1 2 3 4 10 5 =>0 1 2 3 4 5 슬라이딩 윈도우처럼 앞에서부터 더해가며 n보다 커지면 가장 앞의 수를 빼주면 되는 문제이다. 더해준 수의 시작점과 끝점을 구해줘야 되는데 끝점은 현재 인덱스 i이고 시작점은 초기 0으로 둔 다음에 수가 커서 빼줄 때마다 1씩 더해준다. 길이가 l이상일 때 import java.util.Scanner; pu..

[백준] 17140번 이차원 배열과 연산 (java, 구현, 시뮬레이션)

www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 최대 길이가 100만 가능하므로 미리 크기 100으로 만들어놓고 넘어가는 길이의 데이터만 무시해준다. 각 행별로 각 수를 count배열에 등장하는 만큼 1로 더해줘서 (수, 등장횟수) 쌍을 리스트에 넣어준다. 리스트에 넣어줄 때 중복된 수가 들어가지않도록 주의! 해준다 리스트를 기준에 따라 정렬한다. 최대 행 길이와 최대 열 길이는 정렬할 때마다 새로 구해줘야된다. 계속 max연산만 하면 이전 정렬..