본문 바로가기

c++9

C++ 프로그래머스 코딩테스트 - 네트워크 (43162) 네트워크 Level 3 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1 - 2 처럼 이어진 네트워크를 하나로 본다. 위 경우 네트워크의 총 개수는 2개이다. 1 - 2 / 3 나의 풀이 int solution(int n, vector computers) { // 단방향 네트워크 체크. for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (computers[i][j] != computers.. 2022. 7. 20.
C++ 프로그래머스 코딩테스트 - 가장 먼 노드 (49189) 가장 먼 노드 Level 3 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시작점으로 부터 가장 멀리 떨어져 있는 노드를 찾는 문제이다. 나의 풀이 #include #include #include using namespace std; int solution(int n, vector edge) { int 가장_먼_간선개수 = 0; map dest_count{ {1,0} }; queue q; q.push({ 1, 0, 0/*간선 개수*/, 1/*.. 2022. 7. 18.
C++ 스마트포인터 성능 스마트 포인터의 과도한 레퍼런스 카운팅(Reference Counting) C++에서는 객체의 메모리 관리를 위해 스마트 포인터를 필수적으로 사용해야 할 때가 있다. 덕분에 편리하게 메모리를 다룰 수 있지만 한가지 유의점이 있다. 스마트 포인터의 Reference Count가 Atomic 연산자로 구현되어 있다는 점이다. Atomic 연산자는 가끔씩 호출하는 정도로는 시스템에 부하를 거의 주지 않지만, 과도하게 호출되면 시스템 전체에 심한 렉을 유발시키곤 한다. Atomic 이란? (* 서버 프로그래머가 꼭 알아야 할 Atomic 연산자(https://modoocode.com/271)) std::list sampleList; for ( auto aaa : sampleList ) { … } "auto aa.. 2022. 7. 7.