본문 바로가기
728x90
반응형

전체 글249

[JAVA] Arrays.fill() 자바로 배열을 선언한 후에 int형은 0, String은 null로 가득차 있습니다. 그런 경우 안에 값을 전부 특정 숫자나, 문자로 바꾸고 싶은 때 사용하는 방법입니다. for문으로 사용할 경우 int[] a = new int[10]; for(int i = 0; i < a.length; i++){ a[i] = 1; } 이런 방식으로 가능합니다. 간단하게 소스코드의 길이를 줄이면서 사용하는 방법으로 int[] a = new int[10]; Arrays.fill(a, 1); 라는 식으로 할 경우 위에 적힌 for문과 마찬가지로 1로 가득 채워지게 됩니다. 2021. 10. 29.
[JAVA] 출력 관련(백준) 백준을 자바로 푸시는분들이 주로 시간초과가 나서 질문하는 소스들을 보면 대체로 이렇습니다. for(int i = 0; i < 100; i++){ System.out.println(i); } 이럴경우 1개씩 계속해서 출력을 하게 되어 시간이 오래걸립니다. 시간을 줄여주기 위해 주로 사용하는 것에는 2가지 정도가 있습니다. StringBuilder와 BufferedWriter입니다. StringBuilder는 StringBuilder sb = new StringBuilder(); for(int i = 0; i < 100; i++){ sb.append(i).append("\n"); } System.out.print(sb); BufferedWriter는 BufferedWriter bw = new Buffered.. 2021. 10. 28.
[백준] 9063번 : 대지(JAVA) https://www.acmicpc.net/problem/9063 9063번: 대지 입력은 표준입력(standard input)을 통해 받아들인다. 입력의 첫 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. www.acmicpc.net 풀이 풀이방식으로는 여러가지가 있습니다. 1. 1차원배열 2개를 만들어 정렬하고 (첫배열마지막 - 첫배열처음) * (둘배열마지막 - 둘배열처음) 2. max 2개, min 2개를 만들어 (max1 - min1) * (max2 - min2) 소스코드 1. import java.io.BufferedReader; import java.io.IOException; im.. 2021. 10. 27.
[백준] 2075번 : N번째 큰 수(JAVA) https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 풀이 2가지 풀이 방법이 있습니다. 1. n * n 크기의 배열에 값을 다 넣고 정렬 후 뒤에서 n번째수 출력 2. pq(자동 정렬)에 값을 처음에 n개 넣고, 다음에 n * (n - 1)만큼 넣으면서 앞자리 1개씩 빼기 후 맨 앞수 출력 소스코드 1. 배열 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStr.. 2021. 10. 25.
[백준] 23278번 : 영화 평가(JAVA) https://www.acmicpc.net/problem/23278 23278번: 영화 평가 스타트링크에는 영화 감상 동아리가 있다. 영화 동아리에는 총 N명의 구성원이 있고, 매주 모여서 영화 한 편을 본다. 영화를 본 뒤, 각 사람은 0보다 크거나 같고, 100보다 작거나 같은 정수로 영 www.acmicpc.net 풀이 입력받은 수들을 정렬한 후, 앞에 l부터 뒤 n-h까지의 합을 double형태로 합한 후에 그 길이만큼 나눠서 평균을 구해주시면 됩니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.uti.. 2021. 10. 24.
[백준] 23276번 : Locust Locus(JAVA) https://www.acmicpc.net/problem/23276 23276번: Locust Locus The first line of input contains a single integer $k$ ($1 \le k \le 99$), the number of pairs of periodical cicadas. Then follow $k$ lines, each containing three integers $y$, $c_1$ and $c_2$ ($1800 \le y \le 2021$, $1 \le c_1, c_2 \le 99$), the year thi www.acmicpc.net 풀이 왼쪽수 + (가운데수 * 오른쪽수 / 최대공약수(가운데수, 오른쪽수) = 왼쪽수 + 최소공배수(가운데수, 오른쪽수) .. 2021. 10. 22.
[백준] 23275번 : Knot Knowledge(JAVA) https://www.acmicpc.net/problem/23275 23275번: Knot Knowledge The first line of input consists of an integer $n$ ($2 \le n \le 50$), the number of knots Sonja needs to learn. This is followed by a line containing $n$ distinct integers $x_1, \ldots, x_n$ ($1 \le x_i \le 1\,000$), the knots that Sonja needs to learn. F www.acmicpc.net 풀이 첫 사이즈를 입력받고, 그 사이즈만큼 수를 입력받습니다. 그 후 사이즈 - 1 만큼 수를 입력받으면서 리스트의.. 2021. 10. 22.
[백준] 20165번 : 인내의 도미노 장인 호석(JAVA) https://www.acmicpc.net/problem/20165 20165번: 인내의 도미노 장인 호석 사람을 화나게 하는 법은 다양하다. 그 중에서도 악질은 바로 열심히 세워놓은 도미노를 넘어뜨리는 것이다. 이번에 출시된 보드 게임인 "너 죽고 나 살자 게임"은 바로 이 점을 이용해서 2명이 www.acmicpc.net 풀이 행과 열, 횟수를 입력받습니다. 공격자가 공격하고, 수비자가 한개를 다시 원래상태로 복구하는 방식으로 진행됩니다. 입력받은 배열과 똑같은 배열을 만들어 줍니다.(clone은 하지말것) attack을 통하여 해당 도미노의 크기만큼 다음 배열의 위치에 있는 도미노를 치워줍니다.(반복) 위치를 입력받아 똑같은 배열을 만들어 줬던 값을 가져와 복구시켜줍니다. 소스코드 import ja.. 2021. 10. 18.
[백준] 1300번 : K번째 수(JAVA) https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 풀이 배열을 직접 만들어서 정렬 후 그 위치의 값을 출력하면 메모리 초과가 나옵니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) t.. 2021. 10. 18.
728x90
반응형