일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Algorithm
- 멀티스레드
- 백준
- BFS
- 프로그래머스
- JavaScript
- dfs
- C++
- 프론트엔드 스쿨
- MemoryBarrier
- Server
- 코딩테스트 스터디
- map
- 서버
- socket
- N과 M(2)
- 메모리 배리어
- 제로베이스
- leetcode
- 완전탐색
- 자바스크립트
- 알고리즘
- 구현
- c#
- 문자열&연산자
- 코딩테스트
- 제로베이스 프론트엔드 스쿨
- 구조체
- 백트래킹
- React
- Today
- Total
목록구조체 (2)
Written
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이런 그래프 탐색류의 문제들 중에 제 기준에서는 처음 보는 유형의 문제였습니다. 정점이 아니라 정점과 정점 사이의 길에 대한 중복체크라는 새로운 해결요소를 내놓은 문제라 시간 꽤나 잡아먹은 것 같습니다. 그래도 혼자 힘으로 풀어낼 수 있었어서 굉장히 뿌듯하고 만족스럽습니다. 구조체의 힘에 대해서 다시 한번 깨닫게 된 계기였습니다. 문제의 내용은 결국 입력으로 주어진 방향에 맞추어 좌표평면에서 움직..

구현 할때마다 헷갈리는 우선순위 큐를 사용할 때 , 자료형이 구조체인 경우 정렬을 위한 연산자 오버로딩을 정리해보려고합니다. 우선순위 큐 안에 기본적인 int 형 자료형이 들어가면 내림차순으로 정렬되어 들어갑니다. (내부적으로 heap(디폴트로 Max_heap)으로 구현되어있기때문입니다.) 이런 간단한 구조에서는 쉽지만, 만약 여러 값들을 갖는 구조체가 자료형으로 우선순위 큐 안에 들어가게되면 어떤 값을 기준으로 정렬을 해야 할 지 모르기때문에, 그 기준을 정해주어야 합니다. 그 기준을 정하는 방법은 구조체 내부에서 < 연산자 오버로딩을 통해 가능합니다. Pos라는 구조체 내부에서 연산자 오버로딩을 해주면 , PQ에 push를 할 때 연산자 오버로딩의 정의에 맞추어 정렬하게 됩니다. 저 부등호 방향때문에..