자바116 백준/10989 수 정렬하기 3 수 정렬하기 3 시간 제한메모리 제한제출정답맞힌 사람정답 비율 5 초 (하단 참고) 8 MB (하단 참고) 203593 47199 35651 23.477% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 복사 10 5 2 3 1 4 2 3 5 1 7 예제 출력 1 복사 1 1 2 2 3 3 4 5 5 7 풀이 1. 실패 -> 수 정렬하기 2에서 썼던코드가 통과할거같아서 시도해보았지만 메모리초과로 실패하였다.. 자바/알고리즘 문제 풀이 2022. 12. 3. 백준/2751 수 정렬하기 2 수 정렬하기 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 226499 65082 45252 30.451% 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 복사 5 5 4 3 2 1 예제 출력 1 복사 1 2 3 4 5 풀이 오름차순으로 정렬하는 간단한 문제같지만 주어지는 수의 개수의 최대값이 백만이나 된다. O(n^2)의 시간복잡도를 가지는 코드라.. 자바/알고리즘 문제 풀이 2022. 12. 3. 백준/25305 커트라인 커트라인 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 1024 MB 11008 7124 6605 66.329% 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N$N$명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k$k$명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. 입력 첫째 줄에는 응시자의 수 N$N$과 상을 받는 사람의 수 k$k$가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x$x$가 공백을 사이에 두고 주어진다. 출력 상을 받는 커트라인을 출력하라. 제한 1≤N≤1000$1 ≤ N ≤ 1\,000$ 1≤k≤N$1 ≤ k ≤ N$ .. 자바/알고리즘 문제 풀이 2022. 12. 3. [Java] Split 메소드 문자열 자르기 String[] split(String regex) split함수는 입력받은 정규표현식 또는 특정문자를 기준으로 문자열을 나누어 배열에 저장하여 리턴한다. 정규표현식 개념 -> https://hbase.tistory.com/160 String temp = "010-1234-5789-1111"; String[] result = temp.split("-"); for (String currentString : result) { bw.write(currentString+"\n"); } 문자열을 "-"를 기준으로 나누고 나눈 문자열들을 배열에 넣어서 리턴해준다. 문자열배열을 출력해봤을때 저장된 값들은 다음과 같다. String[] split(String regex,int limit) 기준 문자말고 받을 수 있는 .. 자바/++ 2022. 12. 3. 백준/2587 대표값2 대표값2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 15445 9827 9082 64.673% 문제 어떤 수들이 있을 때, 그 수들을 대표하는 값으로 가장 흔하게 쓰이는 것은 평균이다. 평균은 주어진 모든 수의 합을 수의 개수로 나눈 것이다. 예를 들어 10, 40, 30, 60, 30의 평균은 (10 + 40 + 30 + 60 + 30) / 5 = 170 / 5 = 34가 된다. 평균 이외의 또 다른 대표값으로 중앙값이라는 것이 있다. 중앙값은 주어진 수를 크기 순서대로 늘어 놓았을 때 가장 중앙에 놓인 값이다. 예를 들어 10, 40, 30, 60, 30의 경우, 크기 순서대로 늘어 놓으면 10 30 30 40 60 이 되고 따라서 중앙값은 30이 된다. 다섯 개의 자연수가 주.. 자바/알고리즘 문제 풀이 2022. 12. 3. 백준/2750 수 정렬하기 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력 1 복사 5 5 2 3 4 1 예제 출력 1 복사 1 2 3 4 5 풀이 중복없는 숫자배열을 받은 후 정렬메소드를 이용하여 정렬해서 출력해준다. public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static Buf.. 자바/알고리즘 문제 풀이 2022. 12. 3. [Java] ArrayList, LinkedList ArrayList ArrayList는 배열을 기반에 두고있다. 장점 : 인덱스를 통한 데이터의 삽입,삭제,조회가 편하다. 단점 : 데이터의 추가,삭제가 느리다. get / set ArrayList는 조회 또는 값설정할때 시간복잡도는 O(1) 이다. 배열의 인덱스를 통해 접근하는 방식이므로 속도가 빠르다. ArrayList.add(data) List numbers = new ArrayList(); numbers.add(5); numbers.add(2); 맨뒤에 데이터가 추가된다. 시간복잡도는 O(1)이다. ArrayList.add(index,data) numbers.add(0, 11); 원하는 인덱스에 데이터를 삽입한다. 특정 인덱스에 데이터를 삽입하게되면 그 뒤에 요소들은 하나씩 뒤로 이동시켜주는 작업이.. 자바/자료구조 2022. 12. 3. Collections.sort() 와 Arrays.sort() 시간복잡도, 사용법 Collections.sort() 시간복잡도 평균 : O(NlogN) 최악 : O(NlogN) 내부 알고리즘 : Timsort(삽입+병합 정렬) Arrays.sort() 시간복잡도 평균 : O(NlogN) 최악 : O(N^2) 내부 알고리즘 : DualPivotQuicksort Collections.sort() 사용법 public static void main(String[] args)throws IOException { List numbers = new ArrayList(); numbers.add(5); numbers.add(2); numbers.add(1); numbers.add(4); Collections.sort(numbers); bw.write(numbers.toString()); bw.flus.. 자바/++ 2022. 12. 3. [Java] BufferedReader, BufferedWriter Scanner보다 빠른 입출력 BufferedReader, BufferedWriter 버퍼를 통해서 입출력을 전달해준다. BufferedReader, BufferedWriter가 Scanner보다 더 효율이 좋은 이유는 버퍼를 이용해서 그렇다고한다. 누를때마다 정보를 이동시키는것보다는 중간에 메모리 버퍼를 둬서 데이터를 묶어서 전송시키는것이 효율적이고 빠르다고 한다. 흙을 퍼 나를때 삽으로 한번뜨고 옮기는것보다는 수레에 한번에 담아서 옮기는것이 더 효율적이고 빠른것처럼. IOException BufferedReader나 BufferedWriter의 메소드를 사용하려면 사용할곳에서 try catch를 두르거나 해당 클래스의 throws IOException처리를 해줘야한다. public static voi.. 자바/++ 2022. 12. 3. 자바 StringTokenizer 문자열분리,문자열구분! + split [미완] Stringtokenizer는 3가지 사용방법이 있다. 1. 문자열만 전달 StringTokenizer st = new StringTokenizer(temp); 문자열만 전달하면 기본구분자인 (공백,줄바꿈 등) 공백 문자들" \t\n\r\t"으로 구분된다. 2. 문자열 , 구분자 st = new StringTokenizer(temp, ","); 문자열뒤에 원하는 구분자를 넣어주면 해당 구분자를 기준으로 나눠준다. temp = "a,,,b,c,,,,d,eeeee,rrrr,,,tttt"; st = new StringTokenizer(temp, ","); 만약 들어오는 값이 구분자가 여러번 쓰였을때는? 구분자가 몇개들어오든 구분자를 기준으로 나눠준다. -> 구분자가 아닌것들만 모아주는 느낌 3. 문자열,구분자.. 자바/++ 2022. 10. 29. 백준/1439 뒤집기 뒤집기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 21033 11478 9076 54.629% 문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로.. 자바/알고리즘 문제 풀이 2022. 10. 29. 백준/2444 별찍기 -7 별 찍기 - 7 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 28768 20208 18246 71.854% 문제 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. 예제 입력 1 복사 5 예제 출력 1 복사 * *** ***** ******* ********* ******* ***** *** * 2444번: 별 찍기 - 7 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 결과를 저장하려고 해서 고생했고 뒷부분까지 공백을 주려고해서 고생했다. 1. Arrays.fill을 이용. public static void main(Stri.. 자바/알고리즘 문제 풀이 2022. 10. 28. 이전 1 ··· 6 7 8 9 10 다음