[프로그래머스] 실패율(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include using namespace std;bool compare(const pair& a, const pair& b){ if (a.second == b.second) return a.first b.second;}vector solution(int N, vector stages){ vector answer; vector challenger(N + ..
[프로그래머스] 배달(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include using namespace std;const int INF = numeric_limits::max();int solution(int N, vector> road, int K){ vector>> graph(N + 1); vector distances(N + 1, INF); vector visited(N + 1, false); distances[1] = 0; // 양방향 for (cons..
[프로그래머스] 땅따먹기(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include using namespace std;int solution(vector > land){ int answer = 0; int n = land.size(); int m = land[0].size(); for (int i = 1; i 해결 방법첫 번째 행은 건너뛰고 두 번째 행부터 이전 행에서 현재 행과 같은 열이 아닌 수 중 최댓값을 더하여 갱신하면 결국 끝에는 각..
[프로그래머스] 양과 늑대(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include using namespace std;int n, answer = 0;vector> tree;vector visited;void dfs(vector cur, const vector& info){ int sheepCount = 0; int wolfCount = 0; // 현재 경로를 기준으로 양/늑대 카운트 for (int c : cur) { if (info[c] == 1) wolfCou..
[프로그래머스] 최적의 행렬 곱셈(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12942 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include using namespace std;int solution(vector> matrix_sizes) { int n = matrix_sizes.size(); // dp[i][j] : i번쨰 행렬부터 j번째 행렬까지 곱할 때 드는 최소 연산 횟수 vector> dp(n, vector(n, 0)); for (int len = 1; len ::max(); ..
[백준] 2473번: 세 용액(C++)
·
개발/알고리즘
문제 링크https://www.acmicpc.net/problem/2473 코드 구현v#include #include #include #include using namespace std;int main(){ int N; cin >> N; // 3 L(N); for (int i = 0; i > L[i]; } // 오름차순 정렬 sort(L.begin(), L.end()); long long closestSum = LLONG_MAX; // 가장 0에 가까운 합 long long ans1 = 0, ans2 = 0, ans3 = 0; for (int i = 0; i 0) right--; // 합이 0이면 바로 정답 출력 else { cout 해결 방법정렬 후 투 포인터를 사용하여..
[백준] 1202번: 보석 도둑(C++)
·
개발/알고리즘
문제 링크https://www.acmicpc.net/problem/1202 코드 구현#include #include #include #include using namespace std;int main(){ int N, K; // 보석 수, 가방 수 cin >> N >> K; vector> jewels(N); // 보석 {무게, 가격} vector carryWeight(K); // 각 가방에 담을 수 있는 무게 for (int i = 0; i > jewels[i].first >> jewels[i].second; } for (int i = 0; i > carryWeight[i]; } // 무게 순 정렬 sort(jewels.begin(), jewels.end()); sort(carryWeight.begin..
[프로그래머스] 거스름돈(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include using namespace std;int solution(int n, vector money) { // dp[i] : 금액 i를 만드는 방법의 수 vector dp(n + 1, 0); dp[0] = 1; for (int coin : money) { for (int i = coin; i 해결 방법DP를 이용하여 해결dp[i] :..
[프로그래머스] 사칙연산(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include int max_val = std::numeric_limits::max();int min_val = std::numeric_limits::min();using namespace std;int solution(vector arr){ int n = (arr.size() + 1) / 2; // 숫자 개수 vector nums; vector ops; for (..
[백준] 2252번: 줄 세우기(C++)
·
개발/알고리즘
문제 링크https://www.acmicpc.net/problem/2252 코드 구현#include #include #include using namespace std;int main(){ int N, M; cin >> N >> M; vector> graph(N + 1); vector degree(N + 1, 0); queue q; for (int i = 0; i > A >> B; graph[A].push_back(B); degree[B]++; } // 차수가 0인 학생먼저 큐에 삽입 for (int i = 1; i 해결 방법인접리스트와 차수를 저장하는 벡터를 이용하여 A -> B를 가리키는 인접리스트에 B의 차수를 증가시켜 저장차수가 낮은 학생부터 큐에 삽입하고 출력하면서 그 학생보다 뒤에 와..
[백준] 1806번: 부분합(C++)
·
개발/알고리즘
문제 링크https://www.acmicpc.net/problem/1806 코드 구현#include #include #include using namespace std;int main(){ int N, S; cin >> N >> S; vector sequence(N); for (int i = 0; i > sequence[i]; } int answer = N + 1; int sum = 0, start = 0; for (int end = 0; end = S) { answer = min(answer, end - start + 1); sum -= sequence[start]; start++; } } if (answer == N + 1) cout 해결 방법Start 와 End 지점을 0으로 ..
[프로그래머스] 단속카메라(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include using namespace std;bool Compare(const vector& a, const vector& b){ return a[1] > routes) { int answer = 1; // 진출 시점 기준으로 오름차순 정렬 sort(routes.begin(), routes.end(), Compare); int out = rout..
[Unity] 유니티 생명주기 콜백 함수
·
개발/Unity
유니티 생명 주기Unity에서 MonoBehaviour 스크립트는 다양한 생명주기(Lifecycle) 콜백 함수를 제공한다.이 함수들은 특정 타이밍에 자동으로 호출되며, 주로 객체의 초기화, 게임 루프에서의 반복 실행, 충돌 처리, 파괴 등과 관련되어 있다.아래는 MonoBehaviour 생명주기 콜백 함수의 실행 순서와 각 함수의 간단한 설명이다. 자세한 이미지와 설명은 Unity Documentation을 참고하자.https://docs.unity3d.com/kr/2021.3/Manual/ExecutionOrder.html 이벤트 함수의 실행 순서 - Unity 매뉴얼Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하..
[백준] 2206번: 벽 부수고 이동하기(C++)
·
개발/알고리즘
문제 링크https://www.acmicpc.net/problem/2206 코드 구현#include #include #include using namespace std;struct Node{ int y, x; int dist; bool broken; // 벽을 부쉈는지};int N, M;vector> map;vector> directions = { {-1, 0}, {1, 0}, {0, -1}, {0, 1} };bool CanMove(int y, int x){ return (y >= 0 && y = 0 && x >> visited(N, vector>(M, vector(2, false))); queue q; q.push({0, 0, 1, false}); visited[0][0][0] = true; whil..
[프로그래머스] 이중우선순위큐(C++)
·
개발/알고리즘
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 코드 구현#include #include #include #include using namespace std;vector solution(vector operations){ // 이중우선순위큐 multiset 이용 std::multiset dq; for (const auto& op : operations) { // 삽입 if (op[0] == 'I') { int ..