Index 1. Selection Sort 2. Insertion Sort 3. Bubble Sort 4. Quick Sort 5. Merge Sort 6. Heap Sort 7. Radix Sort 1. Selection Sort (선택 정렬) 데이터를 처음부터 끝가지 훑어가면서 가장 작은 값을 찾아 그 값을 바꾼다. 각 루프마다 최소의 원소를 찾는다. 최소값을 맨 왼쪽(앞)의 원소와 교환한다. 맨 왼쪽 원소를 제외하고 하나의 원소가 남을 때까지 반복한다. 출처 : https://ko.wikipedia.org/wiki/%EC%84%A0%ED%83%9D_%EC%A0%95%EB%A0%AC* 시간복잡도 : O(n^2) 장점 데이터 양이 적을 때 좋은 성능을 낸다. 작은 갑슬 선택하기 위해서 비교는 여러번이지..
문제 크기가 N*N인 행렬 A가 주어진다. 이때, A의 B제곱을 구하는 프로그램을 작성하시오. 수가 매우 커질 수 있으니, A^B의 각 원소를 1,000으로 나눈 나머지를 출력한다. 입력 첫째 줄에 행렬의 크기 N과 B가 주어진다. (2 ≤ N ≤ 5, 1 ≤ B ≤ 100,000,000,000) 둘째 줄부터 N개의 줄에 행렬의 각 원소가 주어진다. 행렬의 각 원소는 1,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄부터 N개의 줄에 걸쳐 행렬 A를 B제곱한 결과를 출력한다. 예제 입력 2 5 1 2 3 4 예제 출력 69 558 337 406 예제 입력 3 3 1 2 3 4 5 6 7 8 9 예제 출력 468 576 684 62 305 548 656 34 412 예제 입력 5 10 1 0 0..
문제 자연수 N과 정수 K가 주어졌을 때 이항 계수 (NK)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 4,000,000, 0 ≤ K ≤ N) 출력 (NK)를 1,000,000,007로 나눈 나머지를 출력한다. 예제 입력 5 2 예제 출력 10 풀이 코드 import java.util.Scanner; public class B11401 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); long p = 1000000007; long[] fac = new ..
문제 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 출력 첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다. 예제 입력 10 11 12 예제 출력 4 풀이 거듭제곱을 빨리하는 방법은 재귀를 사용하는 것이다. 예를 들어 생각해보자 A^7 = A^6 * A A^6 = (A^3)^2 ... 즉, 아래와 같다. 조건 pow(a,n) n=0 일 때 1 n이 짝수 일 때 pow(a,n/2)2 n이 홀수 일 때 pow(a,n/2)2∗a 코드 package baekjoon.dq; ..
문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GOPPaAeMDFAXB&categoryId=AV7GOPPaAeMDFAXB&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀기 전 생각 DFS를 사용해서 풀어야겠다. 무한루프에 빠지지 않기 위해 방문한 노드들을 확인한다. 이 때, 다음에 돌 때를 위해 방문한 노드들을 다시 false로 만들어준다. 예를 들어 아래의 경우 노드 2를 방문하고 난 후 노드 3으로 갈 때 방문표시를 false로 하지 않으면 1->2->3->4으로 끝나버린..
문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GKs06AU0DFAXB&categoryId=AV7GKs06AU0DFAXB&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com N-Queen은 백 트래킹 문제의 대표이다. 백 트래킹 설명 : https://hee96-story.tistory.com/57?category=827781 [알고리즘] Backtracking (백 트래킹) Backtracking (백 트래킹) 모든 경우의 수를 전부 고려하는 알고리즘이다. 즉, 조합 알고리즘 문제..
- Total
- Today
- Yesterday
- DFS
- hash
- programmers
- algorithm
- 프로세스 스케줄링
- loss function
- 프로그래머스
- N-Queen
- hashtable
- 사회망서비스
- 기능개발
- 알고리즘
- 백트래킹
- MFQ
- java
- SRTN
- git
- binarySearch
- 자료구조
- 네트워크
- Android
- 백 트래킹
- Objective function
- 3-way-handshake
- Process Scheduling
- SWExpert
- 우선순위큐
- MLQ
- 4-way-handshake
- 농협정보시스템IT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |