Loading...

1475번 방번호 (C++)

https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 9의 경우는 6인 것처럼 카운팅해준다. 0부터 9까지 몇 개 나왔는지 확인하고 6은 6과 9의 카드 모두 쓸 수 있으니 2로 나눠서 몇 팩이 필요한지 본다. 만약 6이 홀수로 남으면 한 팩이 더 필요하므로 +1 해준다. 나머지 숫자는 한 팩당 카드 하나씩 있으므로 카운팅한 갯수가 필요한 팩의 수이다. 각 숫자가 필요한 팩의 개수 중 가장 큰 수가 답이다. #include #include using namespace std; int num[10]; int main(void) { ios::..

[백준] 17298번 오큰수 (java, 스택)

www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net O(n)시간으로 현재 위치 수보다 더 큰 수를 찾는 문제 스택으로 푸는 걸 알고있어서 구현은 금방했는데도 시간 초과가 나서 헤맸다. 배열을 모두 출력할 때 모두 system.out을 쓰기보다 Stringbuilder로 문자열로 만든 다음에 한 번 출력해야 시간초과가 나지 않는다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr..

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

[백준] 1789번 수들의 합 (java, 이분탐색)

www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net package algo0501; import java.util.Scanner; public class B_1789_수들의합_Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); long s=sc.nextLong(); long left=1; long right=s; long answer=0; while(left

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

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