Study 237

Baekjoon18870: 좌표 압축

좌표 압축 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 18115 7986 6011 42.610% 문제 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 제한 1 ≤ N ≤ 1,000,000 -10^9 ≤ Xi ≤ 10^9 풀이 정렬..

Study/Baekjoon 2021.11.10

Java: ArrayList 2차원 배열 생성

ArrayList 배열처럼 0부터 시작하지만 크기가 가변적이기에 활용도가 높다 값 추가 .add( 추가할 값 ); 값 제거 .remove( 제거할 값 ); 값 존재 확인 .contains( 확인할 값 ); ArrayList 크기 .size() (Java) 1차원 ArrayList 생성 import → 인스턴스 생성 import java.util.ArrayList; //util에서 import public class Main { public static void main(String[] args) { ArrayList arr = new ArrayList(); // ArrayList 리스트명 = new ArrayList(); }} (Java) 2차원 ArrayList 생성 import → 인스턴스 생성시 배..

Study/Java 2021.11.09

Baekjoon2108: 통계학

통계학 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 63879 16133 12989 26.833% 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수..

Study/Baekjoon 2021.11.09

Baekjoon10814: 나이순 정렬, 2차원 ArrayList

나이순 정렬 시간 제한메모리 제한제출정답맞힌 사람정답 비율 3 초 256 MB 58137 24892 18865 42.058% 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸..

Study/Baekjoon 2021.11.09

Java: String 문자열 비교에서 ==, != 아닌 equals() 메소드사용, Wrapper 클래스 값 비교(리터럴, new 연산자 생성)

String String은 int나 char 기본(Primitive type) 자료형과 근본적으로 다르다 String은 Wrapper class에 속한 객체며 참조형(Reference Type)이다 ​ String 데이터 생성하기 Wrapper class의 데이터 생성에는 2가지 방법이 있다​ 1. 리터럴 생성 public class Main { public static void main(String[] args) { String s = "문자열"; System.out.println(s); //"문자열" 출력 } } 2. new 연산자 이용 public class Main { public static void main(String[] args) { String s = new String("문자열"); S..

Study/Java 2021.11.08

Baekjoon1181: 단어 정렬

단어 정렬 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 69787 28697 21343 40.318% 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 풀이 두 방법을 생각해보았다. 1) 문자열을 기록하는 배열과 글자수를 저장하는 배열을 만든 후 글자수에 따라 ..

Study/Baekjoon 2021.11.08

Baekjoon11650,11651: 좌표 정렬하기

좌표 정렬하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 57519 27672 20998 48.003% 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 11650풀이 Java: 1차원, 2차원 배열 오름차순, 내림차순 정렬 요약과 이해 1차원 배열 정렬 java.u..

Study/Baekjoon 2021.11.06

Java: System.in.read(); 이해하기, 입력값을 알뜰하게 받기

System.in.read() Scanner, BufferedReader를 사용하지 않고 입력값을 받을 수 있다. 버퍼(InputStream)를 사용하기 때문에 효율적이며 IOException의 throw를 필수적으로 해주어야 한다. 문자를 하나씩만 가져올 수 있고 아스키 코드로 변환해 가져온다 예시를 통한 이해 import java.io.*; public class Main { public static void main(String[] args) throws IOException{ for(int i=0; i

Study/Java 2021.11.05