2025-09-19 TIL

알고리즘 문제 풀이

이번에는 2레벨 문제 중 정답률이 높은 문제를 선택하여 풀어보았습니다.
정답률이 높은 만큼 역시 쉬운 문제였습니다.

문제가 쉬워 빨리 풀어낸 만큼 코드를 한번 리팩토링 해보며 좀 더 효율적으로 풀어낼 수 있을 방법을 고안해보았습니다.
그 결과 공간복잡도가 $O(n)$까지 발생할 수 있는 알고리즘을 $O(1)$로 최적화해냈습니다.

최적화는 기존 알고리즘에서 스택을 사용했는데, 스택을 제거하고 정수형 변수 하나를 사용하여 문제를 풀이해내 최적화 할 수 있었습니다.

이번에 푼 문제들에 대해 별도의 게시글로 정리해보았습니다.

[프로그래머스][C++] 올바른 괄호

메모리 관리 기법과 가상 메모리 학습

학습한 내용 정리

  • 논리 주소 및 물리 주소
  • 메모리 관리 장치(MMU)
  • 연속 메모리 할당
    • 외부 단편화
  • 비연속 메모리 할당
  • 가상 메모리
    • 스와핑, 스왑 영역
    • 페이징, 페이지 테이블, 계층적 테이블

학습한 내용은 별도의 게시글로 정리했습니다.
[ComputerScience] 메모리 관리 기법
[ComputerScience] 가상 메모리

느낀점

이번 학습에서는 가상 메모리에 대한 부분을 학습하고자 했지만, 기본적으로 알고있어야 하는 지식이 있어서 논리 주소와 물리 주소, 메모리 관리 장치에 대한 기본적인 개념을 우선적으로 학습했습니다.

연속 메모리 할당의 개념이 가장 간단했는데, 외부 단편화 문제로 일반적으로는 더이상 활용되지 않는 기법이라는 것을 알게 되어 개념적으로만 이해하고 있으면 될 것 같아 큰 어려움이 없었습니다.
하지만, 비연속 메모리 할당이 상대적으로 복잡하고 느껴졌지만 중요한 개념이라고 생각되어 좀 더 신경써서 학습해보았습니다.
그 중 스와핑과 스왑 영역, 페이징에 대한 부분이 가장 핵심이라고 판단됩니다.
대략적인 개념은 오늘 충분히 파악한 것 같기 때문에 추후에 복습만 해주면 될 것 같습니다.

해당 개념이 리소스가 큰 게임을 효율적으로 메모리에 적재하여 메모리가 제한적인 환경에서도 프로그램을 원활하게 실행하기 위한 핵심이라는 생각이 들었습니다.

다음 학습 계획

  • 파일 시스템
  • 게임 수학
  • 알고리즘 문제 풀기

다음에는 이전에 계획했던 파일 시스템을 학습하고자 합니다.
종종 SSH를 사용해 파일을 접근하기 위해 디렉토리를 이동하거나 파일을 찾는 것이 어떻게 구성되어 있는지 굉장히 궁금했기 때문에 기대되는 학습 분야입니다.

알고리즘 문제는 기존처럼 꾸준히 병행하여, 자료구조와 알고리즘 실력을 유지 및 향상시키고자 합니다.

Date:     Updated:

카테고리:

태그:

TIL 카테고리 내 다른 글 보러가기

댓글남기기