자바/알고리즘 문제 풀이79 백준/25501 재귀의 귀재 재귀의 귀재 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음) 6514 3487 3009 55.919% 문제 정휘는 후배들이 재귀 함수를 잘 다루는 재귀의 귀재인지 알아보기 위해 재귀 함수와 관련된 문제를 출제하기로 했다. 팰린드롬이란, 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때가 같은 문자열을 말한다. 팰린드롬의 예시로 AAA, ABBA, ABABA 등이 있고, 팰린드롬이 아닌 문자열의 예시로 ABCA, PALINDROME 등이 있다. 어떤 문자열이 팰린드롬인지 판별하는 문제는 재귀 함수를 이용해 쉽게 해결할 수 있다. 아래 코드의 isPalindrome 함수는 주어진 문자열이 팰린드롬이면 1, 팰린드롬이 아니면 0을 반환하는 함수다. .. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/10870 피보나치 수 5 피보나치 수 5 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 86903 53223 45407 61.759% 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄.. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/10872 팩토리얼 팩토리얼 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 134960 70607 57896 52.571% 문제 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. 출력 첫째 줄에 N!을 출력한다. 예제 입력 1 복사 10 예제 출력 1 복사 3628800 예제 입력 2 복사 0 예제 출력 2 복사 1 풀이 반복문을 이용하여 풀었다. public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWrite.. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/10814 나이순 정렬 나이순 정렬 시간 제한메모리 제한제출정답맞힌 사람정답 비율 3 초 256 MB 94926 41905 32001 42.990% 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000) 둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다. 출력 첫째 줄부터 총 N개의 줄에 걸.. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/1181 단어 정렬 단어 정렬 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 119208 49516 36962 40.111% 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을 출력한다. 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 예제 입력 1 복사 13 but i wont hesitate no more no more it cannot .. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/11651 좌표 정렬하기 2 좌표 정렬하기 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 52049 33768 28751 67.216% 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 y좌표가 증가하는 순으로, y좌표가 같으면 x좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 예제 입력 1 복사 5 0 4 1 2 1 -1 2 2 3 3 예제 출력 1 복사 1 -1 1 2 2 2 3 3.. 자바/알고리즘 문제 풀이 2022. 12. 5. 백준/11650 좌표 정렬하기 좌표 정렬하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 94418 44658 34535 47.988% 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 예제 입력 1 복사 5 3 4 1 1 1 -1 2 2 3 3 예제 출력 1 복사 1 -1 1 1 2 2 3 3 3.. 자바/알고리즘 문제 풀이 2022. 12. 4. 백준/1427 소트인사이드 소트인사이드 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 66216 42477 35550 64.523% 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 예제 입력 1 복사 2143 예제 출력 1 복사 4321 예제 입력 2 복사 999998999 예제 출력 2 복사 999999998 예제 입력 3 복사 61423 예제 출력 3 복사 64321 예제 입력 4 복사 500613009 예제 출력 4 복사 965310000 풀이 Arrays.sort()의 내림차순을 사용하기.. 자바/알고리즘 문제 풀이 2022. 12. 4. 백준/2108 통계학 통계학 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 118444 25940 20924 25.389% 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정.. 자바/알고리즘 문제 풀이 2022. 12. 4. 백준/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. 이전 1 ··· 3 4 5 6 7 다음