본문 바로가기

프로그래머스12

[Python 프로그래머스] K번째수 - 초보를 위한 자세한 설명 | 정렬 알고리즘 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 정렬 알고리즘 문제입니다. 파이썬은 정렬 함수가 내장돼있기 때문에 편리합니다. □ 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, .. 2021. 6. 4.
[Python 프로그래머스] 완주하지 못한 선수 - 초보를 위한 자세한 설명 | 해시 알고리즘 문제 주소: https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 해쉬 문제입니다. 해쉬 구조란? 키(Key)와 값(Value) 쌍으로 이루어진 데이터 구조를 의미합니다. Key를 이용하여 데이터를 찾으므로, 속도를 빠르게 만드는 구조입니다. 파이썬에서는 딕셔너리(Dictionary) 타입이 해쉬 테이블과 같은 구조입니다. 기본적으로는, 배열로 미리 Hash Table 크기만큼 생성해서 사용합니.. 2021. 6. 2.
[Python 프로그래머스] 체육복 - 초보를 위한 자세한 설명 | 탐욕법 | 그리디 알고리즘 탐욕법 문제입니다. 탐욕 알고리즘(탐욕법, Greedy Algorithm)은 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. -출처: 위키백과- 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 .. 2021. 6. 1.
[Python 프로그래머스] 모의고사 - 초보를 위한 자세한 설명 | 완전탐색 | 브루트 포스 알고리즘 문제 주소: https://programmers.co.kr/learn/courses/30/lessons/42840 완전탐색 문제입니다. 다른 말로는 브루트 포스(Brute force) 라고 합니다. 가능한 모든 경우의 수를 대입하여 문제를 해결하는 방식으로써 오래 걸리는 데다 자원이 엄청나게 깨져서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 특징이 있습니다. 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2.. 2021. 5. 30.