그럴듯한 개발 블로그
프로그래머스 PCCP모의고사 1회 2번 체육대회 c++

https://school.programmers.co.kr/learn/courses/15008/lessons/121684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs를 돌면서 최적의 경우를 찾으려 했으나.. 다음 재귀스택에서 가장 큰 것만 찾는 로직으론 최대합을 찾을 수 없다는 걸 깨달았다. #include // 실패코드 #include #include using namespace std; vector abil; int compNum; int playNum; int answer = 0; void dfs(int depth, int sum, vect..

프로그래머스 PCCP모의고사 1회 1번 외톨이 알파벳 c++

https://school.programmers.co.kr/learn/courses/15008/lessons/121683?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; string solution(string input) { string answer = ""; set s; set resSet; for (int i = 0; i < input.size(); i++) { if (i == input.size() - 1 || input[i] != input..

프로그래머스 무인도 여행 c++

https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 보는 floodfill알고리즘이다. 42 so long 과제가 마지막... 이 문제의 경우 무인도 하나를 다 세고 다음 무인도를 찾아야 하므로 최대한 먼저 깊게 탐색하는 dfs가 알맞다. 먼저 무인도 cnt 세 주고 바다로 덮어버리기를 반복해 줬다. #include #include #include using namespace std; vector res; int cnt = 0; vect..

프로그래머스 쿼드압축 후 개수 세기 c++

https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오랜만에 풀어보는 분할정복 문제다. startX, startY, len 옮겨가면서 len이 1이 될 때까지 재귀 돌게 해줬다. #include #include using namespace std; vector board; int cnt0 = 0, cnt1 = 0; bool checkSameArea(int startX, int startY, int len) { int areaNum = board[s..

프로그래머스 삼각 달팽이 c++

https://school.programmers.co.kr/learn/courses/30/lessons/68645#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; /* 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 */ vector getAnswer(const vector arr, int n) { vector v; for (int i = 0; i < n; i++) for (int j = 0; j = n - 1 || arr[x + 1][y] !..

프로그래머스 게임 맵 최단거리 c++ (dfs, bfs)

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 재귀적 사고가 필요한 과제를 하고 있어서 dfs로 풀었다. 바로 시간초과 #include // 시간초과 dfs using namespace std; vector map, visit; int cnt = 0; int dx[4] = {-1, 0, 1, 0}; int dy[4] = {0, 1, 0, -1}; void dfs(int x, int y, int depth) { if (x == map.size()..