728x90 coding/algorithm49 [programmers] Lv.3 N으로 표현(c++) 이 문제는 DP 문제이다. (DP 링크 추가 예정...) my full code #include #include #include using namespace std; int nnn(int N, int num){ int result = N; for(int i=1; i 2022. 7. 1. [programmers] Lv.2 행렬 테두리 회전하기(c++) my full code #include #include using namespace std; vector solution(int rows, int columns, vector queries) { vector answer; vector matrix; int cnt = 1; for(int i=0; i y2 || j+dir_y[idx] < y1) idx++; i += dir_x[idx]; j += dir_y[idx]; } answer.push_back(min_val); } return answer; } 문제 https://programmers.co.kr/learn/courses/30/lessons/77485?language=cpp 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6.. 2022. 7. 1. [programmers] Lv.2 짝지어 제거하기(c++) my full code #include #include using namespace std; int solution(string s) { stack ch_stack; for(char ch: s){ if(ch_stack.empty() || ch_stack.top() != ch) ch_stack.push(ch); else if(ch_stack.top() == ch){ ch_stack.pop(); } } return (ch_stack.empty())? 1 : 0; } 문제 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이.. 2022. 7. 1. [programmers] Lv.1 체육복(c++) 나는 이게 왜 level1인지 이해가 안된다 ㅋㅋㅋ 내가 greedy를 잘 못하는건가? 예전에 엄청 고생해서 못풀었는데 이번에도 풀긴 풀었지만 살짝 고생해서 풀었다 ㅠ my full code #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; vector lost_chk(n+1, 0); for(int l: lost) lost_chk[l] = 1; vector reserve_chk(n+1, 0); for(int r: reserve){ if(lost_chk[r] == 1){ lost_chk[r] = 0; continue; } reserve_chk[r] = 1; } bool.. 2022. 6. 28. [programmers] Lv.2 더 맵게(c++) 1. map을 사용한 풀이 더보기 #include #include using namespace std; int solution(vector scoville, int K) { int answer = 0; map scov; for(auto s: scoville) scov[s]++; while(scov.begin()->first first; scov.begin()->second--; if(scov.begin()->second == 0) scov.erase(first); int second = scov.begin()->first; scov.begin()->second--; if(scov.begin()->second == 0) scov.erase(secon.. 2022. 6. 27. [programmers] Lv.2 기능개발(c++) 올해 ps를 시작하면서 웃긴게 가끔 프로그래머스 문제에 들어가보면 이상하게 풀다가 포기한것처럼 보이는 문제들이 있다. 지금 생각해보면 이걸 왜 이렇게 풀었지? 하면서 웃긴데 그만큼 성장했다는건가 싶어서 기분이 좋기도 하다 my full code #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int idx = 0; while(idx < progresses.size()){ while(progresses[idx] < 100){ for(int i=idx; i< progresses.size(); i++){ progresses[i] += speeds[i]; } } answe.. 2022. 6. 27. [programmers] Lv.1 소수 만들기(c++) 바로 직전 소수 찾기 문제와 비슷하다. 이거나 저거나 비슷한 난이도 같은데 얘는 Lv.1이었다. 더보기 #include #include #include using namespace std; bool is_prime(int num){ if(num 2022. 6. 27. [programmers] Lv.2 소수 찾기(c++) 와 드뎌 시간이 났다!! 더보기 #include #include #include #include using namespace std; bool is_prime(int num){ if(num 2022. 6. 27. [SW Expert Academy] D3 1215. 회문1 *복잡하더라도 그 방법밖에 없으면 그것이 정답이다* my full code // vector 으로 받아오면됨 // row로 검사했다가 column방향으로 검사하면 됨 // 길이 1인 회문을 검사하라할때는 string 길이 * vector 사이즈 하면됨 #include #include #include using namespace std; int main() { for (int tc = 0; tc > N; for (int i = 0; i > str; vec.push_back(str); } // N==1 인경우 if (N == 1) { cout = end) break; .. 2022. 5. 28. [SW Expert Academy] D3 2805. 농작물 수확하기 더보기 // i = 0부터 시작해서 // 중간 column을 찾은 뒤(index기준 N/2) // i를 1씩 증가시켜가며 앞뒤로 i번째까지 더한다. // row가 N/2를 넘어가면 i를 1씩 감소하기 시작해서 // 데이터를 다 받아오면 끝난다. #include using namespace std; int main() { int tc; cin >> tc; for (int t = 0; t > N; int i = 0, add = 1, mid = N / 2; for (int j = 0; j < N; j++) { int start = mid - i, end = mid + i, num; for (int k = 0; k < N; k++) { scanf.. 2022. 5. 28. 이전 1 2 3 4 5 다음 728x90