본문 바로가기
반응형
[프로그래머스] 등산코스 정하기 이전에 풀었던 적이 있는데, 다익스트라를 복습할 겸 다시 풉니다. 이전 풀이를 공부한 뒤에 다시 풀었는데, 이전에 풀었던 거에 다소 불필요한 부분이 있어서 풀이를 보고 헷갈렸다. 다익스트라에 대한 설명은 잘 되어 있는데, 등산코스 문제에 대해서는 초기값을 -1로 세팅하고 분기하는 불필요한 과정이 있었습니다. #include #include #include #include #include #include #define MAX(a, b) ((a >= b) ? a:b) using namespace std; vector v(50001, vector()); vector interval(50001, INT_MAX); vector answer; void dijkstra(int n, vector& gates, vect.. 2024. 3. 22.
[프로그래머스] 연속된 부분 수열의 합 다시 푸는 문제 ! 마찬가지로 투포인터를 이용해 풀이할 수 있었다. #include #include #include #include using namespace std; int cmp(pair a, pair b) { int aLen = a.second - a.first; int bLen = b.second - b.first; if(bLen == aLen) return a.first < b.first; else return aLen < bLen; } vector solution(vector sequence, int k) { vector answer; int result = 0; int j = 0; for(int i = 0; i < sequence.size(); i++) { while(result < k &.. 2024. 3. 21.
[프로그래머스] 연속 부분 수열 합의 개수 저엉말 몇달만에 다시 푸는 알고리즘 문제. 옛날에는 이 문제 정말 어려워했는데, 지금 보니 왜 간단하지.. 명상과 자기객관화 + 우테코의 힘인가..? 코틀린으로 풀어보고 싶었는데, 인자가 IntArray가 와서 바로 C++로 풀었다. #include #include #include using namespace std; int solution(vector elements) { int answer = 0; int size = elements.size(); set tire; for(int i = 0; i < size; i++) { int result = 0; for(int j = i; j < i + size; j++) { int index = j % size; result += elements[index]; .. 2024. 3. 19.
[발표] 고차함수 정리 동기들과의 스터디에서 발표할 자료로써 정리해보고자 글을 작성합니다. 복습의 기회로 삼겠습니다. 람다 함수형 프로그래밍의 대표적 장점으로, 익명함수 정의 기법입니다. 아래는 람다의 기본적인 표현식입니다. 1. original format (인자타입) -> (리턴타입) { 입력값 -> 반환값 } (Int, Int) -> (Int) { a, b -> a + b } 2. simple format { 매개변수: 매개변수타입 -> 함수 본문 } { a: Int, b: Int -> a + b } 일반 함수 fun sum(a: Int, b: Int): Int { return a + b } 익명 함수 (람다) { a: Int, b: Int -> a + b } 람다의 반환은 함수 본문의 마지막 표현식입니다. 람다 정의에서.. 2024. 3. 14.
반응형