쾌락없는 책임 (공부)/알고리즘 문제풀이
-
[Algorithm] 백준 5052 전화번호 목록 - C++, 트라이쾌락없는 책임 (공부)/알고리즘 문제풀이 2023. 10. 7. 19:44
5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net #include #include #include #include using namespace std; struct Trie { bool bIsTerminal; Trie* Children[10]; Trie() : bIsTerminal(false), Children() {} ~Trie() { delete [] Children; } void Insert(const string& InputNumber) { Trie* CurTrie = this; ..
-
[Algorithm] 백준 5582 공통 부분 문자열 - C++, LCS, DP쾌락없는 책임 (공부)/알고리즘 문제풀이 2023. 6. 11. 13:43
5582번: 공통 부분 문자열 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들 www.acmicpc.net #include #include #include using namespace std; const int MAX = 4001; int LCS[MAX][MAX]; string s1, s2; int main(){ int maxLength = -1; cin >> s1; cin >> s2; for(int i = 1; i
-
[Algorithm] 프로그래머스 미로 탈출 - C++, BFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2023. 2. 20. 14:20
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; const int MAX = 101; int moveX[] = { 0, 0, 1, -1 }; int moveY[] = { 1, -1, 0, 0 }; int maxX, maxY; bool IsOutRange(int x, int y) { return (x = maxX || y >= maxY); } int GetMinDistance(const pair& from, const pair& end, c..
-
[Algorithm] 프로그래머스 야간 전술보행 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 11. 18. 18:35
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(int distance, vector scope, vector times) { int answer = distance; for(int i = 0; i < scope.size(); i++){ int fromDist = min(scope[i][0], scope[i][1]); int toDist = max(scope[i][0], scope[i][1]); int workTime = times[i][0]; in..
-
[Algorithm] 프로그래머스 호텔 방 배정 - C++, unordered_map쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 11. 12. 18:13
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; unordered_map hotelRoom; long long FindAvailableRoomNumber(long long roomNumber){ if(hotelRoom.find(roomNumber) == hotelRoom.end()) return roomNumber; return hotelRoom[roomNumber] = FindAvailableRoomNumber(hotelRoom[roomNumber]); } vector ..
-
[Algorithm] 프로그래머스 부대복귀 - C++, BFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 11. 11. 12:00
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; vector edge[100001]; vector solution(int n, vector roads, vector sources, int destination) { vector answer(sources.size()); vector costFromDestination(n + 1, -1); // make edge for(int i = 0; i < roads.size(); i++){ edge[roads[i][0]].push_b..
-
[Algorithm] 백준 14500 테트로미노 - C++, DFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 10. 21. 20:31
14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net #include #include using namespace std; const int MAX = 501; int n, m; int map[MAX][MAX]; bool visit[MAX][MAX]; int moveX[] = { 0, 0, 1, -1 }; int moveY[] = { 1, -1, 0, 0 }; int answer = -1; bool IsOut(int y, int x){ return (y = n || x >= m) ?..
-
[Algorithm] 프로그래머스 게임 맵 최단거리 - C++, BFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 10. 13. 17:29
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; const int moveX[] = { 0, 0, 1, -1 }; const int moveY[] = { 1, -1, 0, 0 }; bool visit[101][101]; int solution(vector maps) { int n = maps.size(); int m = maps[0].size(); queue q; q.push({{0, 0}, 1}); while (!q.empty()){ int curY = q.front().first.fi..