목록전체 글 (78)
우보천리 개발
https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net package Chapter1; import java.io.*; import java.util.*; public class BJ11003 { // Node는 인덱스와 해당 인덱스의 값을 갖고 있음 static class Node { public int index; public int value; public Node(int index, int value) { thi..
https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net package Chapter1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BJ12891 { static int[] required = new int[4]; // 필수로..
https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net package Chapter1; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Scanner; import java.util.StringTokenizer; public class BJ1253 { public static void ma..
https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net package Chapter1; import java.util.*; public class BJ1940 { public static void main(String[] args) { // 입력 Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] arr = new int[n..
https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net package Chapter1; import java.util.*; public class BJ2018 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int sum = 1; int count = 0; int lp = 1; int rp = 1;..
https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net package Chapter1; import java.util.*; public class BJ11659 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] arr = new int[n]; int..
자바에서 기본형에 대해서는 부등호로 크기를 비교할 수 있었다. 하지만 기본형이 아닌 타입에 대해서는 비교를 할 수 있는 기준이 없기 때문에 따로 정의를 해주어야한다. public static void main(String[] args) { int[] scores = {80, 30, 100, 60, 40}; Arrays.sort(scores); System.out.println(Arrays.toString(scores)); } // 결과 [30, 40, 60, 80, 100] 하지만 기본형이 아닌 다른 타입의 객체를 비교하고 싶으면 Comparable 혹은 Comparator 인터페이스를 구현해야한다. 1. Comparable Comparable 인터페이스는 java.lang 패키지에 있다. public ..
https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net package Chapter1; import java.util.*; public class BJ1546 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // 시험 과목 개수 int[] scores = new int[N]; // 입력 for (int i=0; i
https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net package Chapter1; import java.util.*; public class BJ11720 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int num = sc.nextInt(); String stringNum = Integer.toString(num); char[] charNum = stringNum.toCharArray(); i..
File 파일은 비휘발서 보조 기억장치에 저장이 된다. 파일은 의미있고 관련된 정보를 모은 논리적 단위라고 할 수 있다. 파일의 연산(시스템 콜)에는 Create, Delete, Read, Write, Reposition, Open, Close... 등이 있다. 파일의 속성은 파일 자체의 내용이 아닌 파일을 관리하기 위한 metadata가 들어있다. Directory 파일을 관리하기 위해서 디렉터리를 사용할 수 있다. OS의 파일 시스템은 파일을 디렉토리를 통해 계층적으로 저장하고 있다. 최상위 디렉터리를 루트라고 한다. 디렉터리도 일종의 파일이기 때문에 디렉터리는 디렉터리에 담겨 있는 대상과 관련된 정보를 갖고 있다. File Protection 파일은 여러 사용자 혹은 프로그램이 사용할 수 있기 때문..