Algorithm
-
프로그래머스 LV2 마법의 엘리베이터Algorithm/코딩테스트 연습 2025. 1. 25. 22:33
마법의 엘리베이터 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 & 제한조건더보기문제 설명마법의 세계에 사는 민수는 아주 높은 탑에 살고 있습니다. 탑이 너무 높아서 걸어 다니기 힘든 민수는 마법의 엘리베이터를 만들었습니다. 마법의 엘리베이터의 버튼은 특별합니다. 마법의 엘리베이터에는 -1, +1, -10, +10, -100, +100 등과 같이 절댓값이 10c (c ≥ 0 인 정수) 형태인 정수들이 적힌 버튼이 있습니다. 마법의 엘리베이터의 버튼을 누르면 현재 층 수에 버튼에 적혀 있는 값을 더한 층으로 이동하게 됩니다. 단, 엘리베이터가 위치해 있는 층과 버튼의 값을 더한 결과가 0보다 ..
-
LRU 알고리즘Algorithm/알고리즘 2025. 1. 16. 16:26
오랜만에 알고리즘 문제를 계속해서 풀다보니, 기억이 잘 안나는 알고리즘을 여기에 정리하겠다. LRU 알고리즘은 OS 시간에 언뜻 배운 것 같은데, 확실하게 기억나지는 않는다. LRU (Least Recently Used)LRU (Least Recently Used) 알고리즘은 캐시 관리에서 사용되는 알고리즘으로, 가장 최근에 사용되지 않은 데이터를 제거하여 새로운 데이터를 저장하는 방식이다. 이 알고리즘은 자주 사용되는 데이터는 캐시에서 오래 유지하고, 드물게 사용되는 데이터는 캐시에서 제거하여 시스템 성능을 최적화한다. 데이터가 사용될 때마다 이를 기록하고, 캐시의 용량이 가득 차면 가장 오래된 데이터를 제거한다. 사용 메모리 캐시 관리데이터베이스 캐시웹 브라우저 캐시 등 구현구현은 일반적으로 적은..
-
Batch normalizationAlgorithm/Neural Network 2025. 1. 15. 22:53
Batch Normalization배치 정규화(Batch Normalization)는 딥러닝 모델의 학습을 가속화하고 안정성을 높이기 위해 사용된다. 신경망의 각 층에서 입력 데이터를 정규화하여 내부 공변량 변화(Internal Covariate Shift)를 줄이고, 학습 과정을 더욱 효율적으로 만든다. 배치 정규화의 필요성 Internal Covariate Shift 딥러닝 모델의 각 층에서 입력 데이터 분포가 학습 중에 변화하는 현상을 의미한다. Back propagation 시에 이전 레이어의 출력값은 해당 층의 가중치와 함께 업데이트 된다. 이때, 매번 이전 층의 출력값(다음 층의 입력값)이 계속해서 변화하게 되어 입력 데이터의 분포가 안정적으로 유지되지 않는다.그 결과, 학습 모델이 불안정해..
-
프로그래머스 LV2 다리를 지나는 트럭Algorithm/코딩테스트 연습 2025. 1. 12. 13:05
다리를 지나는 트럭 문제 설명 & 조건 확인더보기문제 설명트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 제한 조건bridge_length는 1 이상 10,000 이하입니다.weight는 1 이상 10,000 이하입니다.truck_weights의 길이는 1 이상 10,000 이하입니다.모든 트럭의 무게는 1 이상 weight 이하입니다. 입출력 예bridge_lengthweighttruck_weights210[7,4,5,6] ..