일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 기초코딩
- 초보코딩
- github
- 이클립스
- 프로그래밍기초
- 자바 스프링
- 프로그래밍
- 코딩초보
- 자바
- JAVA기초
- 초보코딩탈출
- 프로그래밍언어
- 스프링
- 컴퓨터과학개론
- 제이쉘
- Git
- 자바기초
- 데이터베이스
- 메소드
- Elk
- 클래스
- 리눅스
- spring
- Java
- 자바프로그래밍
- 스프링 기초
- eclips
- JShell
- 알고리즘
- 배열
- Today
- Total
목록개발 관련/알고리즘 (3)
키보드워리어
백준코딩에서 발견한 배낭문제입니다. https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 배낭문제에서 최소 물품을 가지고 가장 가치 있는 물건을 가져갈 때 최대 이익을 구하는 문제예요. 이번에 알고리즘을 아주 살~~ 짝 터치해 보면서 범접해 볼 수 없는 어려움을 느꼈더랬죠.. ㅎㅎ;; 위 문제와 같은 문제인데 한번 아래 문제를 풀어볼까요? 문제 풀어보기 [01] 용량이 20인 배낭이 ..
[01] 주어진 데이터를 퀵정렬 해보자. A [] = {30, 35, 50, 45, 10, 20, 70} 먼저 퀵정렬이란 특정 원소를 기준으로 주어진 배열을 두 부분배열로 분할하고 부분배열에 대해 퀵정렬을 순환적으로 적용하는 분할 정복 알고리즘을 사용하여 정렬을 수행하는 방법입니다. 두 부분배열로 분할할 때 기준이 되는 특정 원소인 피벗으로 지정하는데 일반적으로는 첫 번째 요소(30)를 선택합니다. 그리고 피벗을 기준으로 배열을 분할합니다. 피벗보다 작은 요소는 왼쪽 배열, 큰요소는 오른쪽 배열에 배치합니다. 왼쪽 모든 값 < 피벗 < 오른쪽 모든 부분배열의 모든 값 이렇게 정렬하면 {10,20} 30 {35,50,45,70} 이렇게 정렬이 됩니다. 그러면 분할된 두 배열에 대해 퀵정렬을 순환적으로 적용..
안녕하세요 【키보드 워리어】 블로그 방문자 여러분, 안경닦이입니다. 오늘은 알고리즘 에 대해 알아보겠습니다. 알고리즘이란 서론:알고리즘(algorithm)은 수학과 컴퓨터과학에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차입니다. 알고리즘은 전산학, 컴퓨터과학, 언어학 등에서 핵심적인 과목으로, 적절한 자료구조와 적절한 알고리즘이 있다면 좋은 소프트웨어가 됩니다. 그러므로 알고리즘에 관한 내용들은 컴퓨터의 전 분야에서 기본적이며, 필수적이라고 할 수 있는데요. 앞으로 알고리즘으로 정렬, 탐색, 그래프 등주요 알고리즘 설계 및 분석 방법을 포스팅하도록 노력하겠습니다. 문제 해결들을 위해 여러 동작과 반복들을 정리하면 시간 복잡도와 공간 복잡도를 어느 정도 이해해볼 수 있습니다. 알고리즘의 수행 시간을 ..