문제를 풀어가면서 아직은 기초가 부족한 느낌이 많이 있어 차라리 하나의 문제를 여러방면으로 풀수있게 공부
하기로 바꿧다. 느리더라도 하나의 문제당 최소 3 ~ 5개의 풀이를 찾고 공부하는 식으로 변경.
문제 1 - 프로그래머스 : 스택, 큐 파트 기능 개발
풀이 1
- 각 프로세스별 걸리는 시간을 계산 ((100 - Progresses[index] )/ speeds[index]) 하고
- 걸리는 시간에 대하여 중복되는 시간 계산 (다중 For 문)
풀이 2 - 풀이 1과 같지만 다른 방식
- 각 프로세스별 걸리는 시간을 계산 ((100 - Progresses[index] )/ speeds[index]) 하고
- 걸리는 시간에 대하여 중복되는 시간 계산 (for 문)
풀이 2 - Queue 사용
- KeyValuePair 를 가지는 Queue 를 생성 및 Progresses 에 인덱스를 부여
- Progresses 수많큼 Dequeue 하여 값을 뺴고 Speed 많큼 더한 후 인덱스화 함께 다시 Enqueue
- 이후 Peek 값이 (첫값) 100 을 넘을 시 카운트 증가
풀이 3 - Queue 사용
- 작업을 진행 해야하는 량을 배열로 저장 ->work 배열
- 작업량에 속도를 나누어 걸리는 시간을 계산 ->date 배열
- 중복되어지는 시간에대한 Count 계산 후 Queue에 대입
'알고리즘 > C#' 카테고리의 다른 글
[C#] 두개 뽑아서 더하기 - 프로그래머스 (0) | 2020.09.29 |
---|---|
[C#] 다리를 지나가는 트럭 - 프로그래머스 (0) | 2020.09.28 |
[C#] 주식가격 - 프로그래머스 (0) | 2020.09.23 |
[C#] 위장 - 프로그래머스 (0) | 2020.09.21 |
[C#] 자리수 더하기 - 프로그래머스 (0) | 2020.09.13 |