프로그래머스 스택/큐 #1
풀이 (진혁)
- 사진 생략
코드 및 알고리즘 해설
- 주식가격의 상태를 추적하는 것이므로 i로 피벗을 지정한다.
- j는 원소를 지나가면서 주식가격이 떨어지는 경우 증가한 카운트를 중단하고 배열에 반환한다.
프로그래머스 스택/큐 #2
풀이 (진혁)
코드 및 알고리즘 해설
- 프로젝트 진척도 progresses[]에서 남은 프로젝트 양을 구한다.
- 각 원소 위치에 맞춰 작업 속도 speed[]를 반영해 남은 일수를 구해 progresses[]에 반영한다 (재활용)
- 피벗을 start로 정하고 end로 인덱스를 밀어간다.
- 남은 일수가 피벗보다 작은 경우 프로젝트가 반환되는 갯수를 answer에 반환한다.
- 피벗을 end+1에 다시 반영해 인덱스를 밀어간다.
프로그래머스 정렬 #1
풀이 (민철)
코드 및 알고리즘 해설
- commands 원소를 각 i,j,k로 뜯어 각각 split의 시작부분, 끝부분 그리고 split된 배열에서 찾아낼 인덱스로 설정한다.
- 인덱싱한 원소를 answer에 반환한다.
프로그래머스 정렬 #2
풀이 (진혁)
1차 시도 코드 및 알고리즘 : 삽입정렬을 사용한 풀이
- 삽입정렬의 알고리즘을 활용하되 string으로 반환한 원소를 join하여 우위를 비교해 원소를 정렬한다.
- 테스트 케이스는 통과하나 채점에서 시간초과로 사용 불가능
2차 시도 코드 및 알고리즘 : 순열을 사용한 풀이
- 중복을 허용하는 조합(순열)을 사용하여 모든 원소에서 나올 수 있는 조합의 목록을 구한다
- sort()로 내림차순하여 가장 큰 수를 반환한다.
- 테스트 케이스는 통과하나 채점에서 시간초과로 사용 불가능
3차 시도 코드 및 알고리즘 : 거꾸로된 Radix 정렬의 풀이 (작업중)
- 원소의 수에서 가장 앞자리 수를 가지고 카테고리를 만든다.
numbers = [9,5,94,939,30,3,300] number_dictionary = {'9':[9,94,939], '5':[5], '3':[30,3,300]}
- 만들어진 dictionary를 순회하며 리스트를 1의 자리부터 큰 수로 정렬한다 → 거꾸로된 Radix 정렬
- 정렬된 원소를 string으로 join한다
- 원소가 모두 0인 경우 조합을 시도하지 않고 0으로 반환한다. → 예외처리
'Temp' 카테고리의 다른 글
20210216, Netwhat 단계별로 밟아가기 (IP ~ OSI 7 Layer) (0) | 2021.02.17 |
---|---|
20210206, 프로그래머스 문제 (0) | 2021.02.08 |
20210205, 프로그래머스 문제 (0) | 2021.02.08 |
20210203, Network (1) (0) | 2021.02.08 |
20210201, 프로그래머스 문제 (0) | 2021.02.02 |