본문 바로가기

반응형

개발

(176) GITHUB 방명록
[백준] 최소,최대_10818_자바 개발/DS&Algorithms / 2022. 2. 1. 10818번 Java-최소, 최대 이번 문제의 분류는 입니다. https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 1. 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 2. 예제 3. 풀이 이번 문제는 간단한 문제입니다. 따라서 저는 다양한 방법으로 풀어보며 수행 속도를 비교해보았습니다. - 방법 1 Scanner 활용, 시간 복잡도 O(n) 수행 방법 import java...
[백준] 평균은 넘겠지_4344_자바 개발/DS&Algorithms / 2022. 1. 31. 4344번 Java-평균은 넘겠지 이번 문제의 분류는 입니다. https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 1. 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. * 문제가 조금 웃기다ㅋㅋ😥 2. 예제 3. 풀이 이번에는 두 가지 방식으로 풀려고 합니다. 첫 번째 풀이는 Scanner를 활용하고, 두 번째는 BufferedReader를 활용할 것입니다. BufferedReader를 활용할 때 StringTokenizer를 활용하게 될 것입니다. 자세한..
[백준] 서로 다른 나머지 개수 구하기_3052_자바 개발/DS&Algorithms / 2022. 1. 30. 3052번 Java-서로 다른 나머지 개수 구하기 먼저 이 문제의 분류는 입니다. 해당 분류는 타 분류에 비해 낮은 단계에 속합니다. 그럼에도 불구하고, 이 문제를 푸는데 상당히 애먹었습니다. 결국 검색을 통해 해답을 알게 되었습니다. 놀라웠던 것은 이 문제를 푸는데 다양한 방법이 있다는 것입니다. 따라서 그 방법들을 정리하고 이해하기 위해서 이렇게 올립니다. https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 1. 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지이다. 예를 들어, 7, 14, 2..
[알고리즘] 정렬 알고리즘 정리 개발/DS&Algorithms / 2022. 1. 10. 03. 정렬 알고리즘 정렬 알고리즘(Sorting algorithm)이란, 원소들을 번호순이나 사전 순서와 같이 일정한 순서대로 열거하는 알고리즘입니다. 수들을 정렬할 때는 크게 오름차순, 내림차순으로 정렬을 진행합니다. 오름차순(ASC): 어센딩 정렬 ex) 1,2,3,4,5,.. 내림차순(DESC): 디센딩 정렬 ex) 10,9,8,7,6.... 정렬 알고리즘의 종류 ASC 또는 DESC로 수들을 정렬하기 위해서 다양한 방법들이 있습니다. 버블 정렬 삽입 정렬 선택 정렬 퀵 정렬 병합 정렬 힙 정렬 1) 버블 정렬(Bubble Sort) 두 개씩 비교하며, 정렬하는 방식 수행 시간 O(N^2) 버블 정렬은 위 사진과 같이 숫자를 두 개씩 비교하며 정렬하는 방식입니다. 처음부터 끝까지 비교를 하면, 제..
[알고리즘] 이진 탐색(Binary search)을 통해 수 찾기 개발/DS&Algorithms / 2022. 1. 6. 02. 정렬된 수에서 하나의 수의 위치 찾기 1) 문제정의 여러개의 수가 정렬된 순서로 있을 때 특정한 수를 찾는 방법 * 83의 위치를 찾아보세요 2) 수의 예 [12, 25, 31, 48, 54, 66, 70, 83, 95, 108] 3) 해결 package fastCampus.arg02; public class BinarySearchProblem { public static void main(String[] args) { int[] numbers = {12, 25, 31, 48, 54, 66, 70, 83, 95, 108}; int target = 83; // 찾을 숫자 //int target = 88; int left = 0; int right = numbers.length-1; int mid =..
[알고리즘] 최솟값, 최댓값 구하기 개발/DS&Algorithms / 2022. 1. 2. 01. 나열된 수에서 최솟값과 최댓값 구하기 1) 문제 정의 여러 개의 수가 배열에 있을 때 그중 가장 큰 값과 작은 값을 찾고 해당 위치 구하기 단, 반복문은 한번만 사용 2) 수의 예 [10, 55, 23, 2, 79, 101, 16, 182, 30, 45] 3) 해결 public class MinMaxProblem { public static void main(String[] args) { int[] numbers = {10, 55, 23, 2, 79, 101, 16, 182, 30, 45}; int min = numbers[0]; // 초기값 설정 : 배열 numbers 안에서 0번째 int max = numbers[0]; // 초기값 설정 : 배열 numbers 안에서 0번째 int minPos..

반응형