hyelie
hyelie
Hyeil Jeong
       
글쓰기    관리    수식입력
  • 전체보기 (495)
    • PS (283)
      • Algorithm (28)
      • PS Log (244)
      • Contest (6)
      • Tips (5)
    • Development (52)
      • Java (14)
      • Spring (23)
      • SQL (2)
      • Node.js (2)
      • Socket.io (3)
      • Study (4)
      • Utils (4)
    • DevOps (36)
      • Git (5)
      • Docker (4)
      • Kubernetes (2)
      • GCP (3)
      • Environment Set Up (8)
      • Tutorial (12)
      • Figma (2)
    • CS (74)
      • OOP (7)
      • OS (24)
      • DB (2)
      • Network (24)
      • Architecture (0)
      • Security (2)
      • Software Design (0)
      • Parallel Computing (15)
    • Project (15)
      • Project N2T (5)
      • Project ASG (0)
      • Project Meerkat (1)
      • Model Checking (7)
      • Ideas (2)
    • 내가 하고싶은 것! (34)
      • Plan (16)
      • Software Maestro (10)
      • 취준 (8)
hELLO · Designed By 정상우.
hyelie

hyelie

PS/PS Log

22.04.07. 풀었던 문제들

1. 캐시

충격적이다... range for문은 값을 변경해도 변경되지 않는다고 한다. 예를 들어 아래와 같은 코드를 실행해도 arr에서 값이 1인 element의 값은 그대로 1이다. 왜냐하면 range loop에서 값은 복사된 값이기 때문이라고 한다.

for(int elem : arr){
    if(elem == 1) elem = 0;
}

이를 방지하기 위해 reference를 사용하면 된다.

for(int &elem : arr){
    if(elem == 1) elem = 0;
}

풀이는 간단하다. LRU를 구현하면 된다.

"city가 cache안에 있다면, 해당 city의 참조값을 0으로 둠. 없다면, 참조값이 제일 큰 것의 위치에 넣음. 이후 모든 lru 수치를 1 더함."으로 구현하면 된다.

​

​

2. 뉴스 클러스터링

multiset의 intersection, union을 다루는 문제. 이 알고리즘 알고리즘을 어디서 봤는데.. 아마 C++로 구현하는 자료구조와 알고리즘이었던 걸로 기억한다. 추억 생각난다.

'PS > PS Log' 카테고리의 다른 글

22.04.09. 풀었던 문제들  (0) 2022.06.23
22.04.08. 풀었던 문제들  (0) 2022.06.23
22.04.06. 풀었던 문제들  (0) 2022.06.22
22.04.05. 풀었던 문제들  (0) 2022.06.22
22.04.04 풀었던 문제들  (0) 2022.06.22
    hyelie
    hyelie

    티스토리툴바