본문 바로가기
반응형

전체 글70

[자료구조] [1] 자료구조와 알고리즘의 개념, 알고리즘의 복잡도 분석 자료구조의 분류 -단순 자료구조 : 정수, 실수, 문자와 같이 대부분의 프로그래밍 언어에서 기본적으로 제공하는 것. -복합 자료구조 여러 개의 자료들을 모은 창고와 같다. 자료에 접근하는 방법이 있어야 하는데 크게 직접 접근과 순서 접근으로 나눌 수 있다. 배열은 대표적인 직접 접근 방법. 인덱스 i를 이용해 i번째 요소 A[i]에 한 번 만에 접근. 연결 리스트는 대표적인 순서 접근 방법. 원하는 자료를 찾기 위해 시작 노드에서 부터 다음 노드로 하나씩 이동하면서 찾아야 한다. 복합 자료구조는 창고의 형태에 따라 선형 구조와 비선형 구조로 나누어진다. -선형 자료구조 기본적으로 자료들이 순서적으로 나열된다. 스택,큐,덱은 자료의 접근이 맨 앞과 맨 뒤 항목으로 제한. 리스트는 임의의 위치에 있는 항목의.. 2021. 11. 29.
[링크] 알고리즘 공부 어떻게 해야하나, 공부 방법/순서 https://baactree.tistory.com/52 알고리즘 공부, 어떻게 해야하나요? 오랜만에 정상적인 포스팅을 쓴다. 메일로 가장 많이 물어 보는 질문들이 [알고리즘 공부 어떻게 해야하나요? 어떻게 하셨어요? 뭘 공부해야 할 지 모르겠어요.] 와 같은 질문들이다. 위 질문에 baactree.tistory.com https://baactree.tistory.com/14 알고리즘 공부 방법/순서 ** 알고리즘 공부 방법/순서에 대한 글을 쓰고자 합니다. 내용은 차차 추가해 나갈 예정입니다. - 이 글은 하이퍼링크 형태로 작성 되었습니다. - 이 글은 프로그래밍 대회에서 배우는 알고리즘 baactree.tistory.com 2021. 11. 29.
[프로그래머스 - level2] [탐욕법] 큰 수 만들기 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 입출력 예 number k return "1924" 2 "94" .. 2021. 11. 25.
[백준 - 2839번] [그리디 알고리즘] 설탕 배달 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 5000) 출력 상근이가 배달하는 봉지의 최소 개수를 출력한다. 만약, 정.. 2021. 11. 24.
[알고리즘] 그리디(탐욕법) 알고리즘 (Greedy Algorithm) 프로그래머스 코딩 테스트 고득점 Kit의 탐욕법 카테고리를 풀기 시작하면서 그리디 알고리즘에 대해서 정리해본다. -그리디(탐욕법) 알고리즘이란? 그리디 알고리즘은 동적 프로그래밍을 간단한 문제 해결에 사용하면 지나치게 많은 일을 한다는 것을 착안하여 고안되었다고 한다. 그리디 알고리즘이란 현재 상황에서 가장 좋은 것(최선의 선택)을 고르는 알고리즘이다. 즉, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에서 현재 당장 최적이라고 생각되는 것을 선택해 나가는 식으로 진행하여 최종적인 해답에 도달한다. 백트래킹을 통해 추가 점검을 하지 않고 현재 조건에서 선택을 했다면 더 이상 다른 선택 가능 경우는 검증하지 않는다. 그리디 알고리즘은 현재 상황에서 가장 좋은 결과를 선택해나가는 방식이지만 이 가장 좋은.. 2021. 11. 23.
반응형