2025/11 6

프로그래머스, C++) Lv 2. 괄호 회전하기

문제https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 접근법1. 문자열 길이 2배2. 슬라이딩 윈도우 개념처럼 l과 r로 접근하여 구간별 체크 => 맞음3. 여는 괄호, 닫는 괄호의 순서와 카운팅으로 체크하려 했으나 반례가 너무 많음. 반례: ( [ ) ] 원래 접근법인 코드더보기#include #include using namespace std; /* 칸 회전 -> 즉, 맨 앞을 맨 뒤로 보내고 문자열 체크 doubleS -> [](){}[](){} */ int solution(stri..

프로그래머스, C++) Lv 2. 연속 부분 수열 합의 개수

문제https://school.programmers.co.kr/learn/courses/30/lessons/131701?language=cpp 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 슬라이딩 윈도우 기법 -> 슬라이딩 윈도우라는 것을 알았지만, 구현을 실패,, -> GPT 도움더보기#include #include #include #include #include using namespace std; /* 슬라이딩 윈도우 적용*/ int solution(vector elements) { int n = elements.size(); unordered_set sums; /..

프로그래머스, C++) Lv 2. 예상 대진표

문제https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 틀린 코드 -> while문의 종료조건 때문에 시간 초과가 나는 테스트 케이스들이 존재더보기#include using namespace std; /* while문으로 계속 2로 나눈 몫으로 a,b의 숫자가 유지됨. + 항상 이긴다고 가정 -> 안만나는 경우는 x 출력 : round */ int solution(int n, int a, int b) { int round = 1; // 라운드 if(a>b) swap(a,b..

프로그래머스, C++) Lv 2. 기능개발

문제https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 더보기#include #include #include using namespace std; /* - progresses 작업 진도 - speed 작업 속도 만약 앞의 순서 작업이 안 끝났다면, 뒷 순서 progress도 배포 X 한 번에 배포되는 기능의 수. 5 1 1 6 1 7 8 */ vector solution(vector progresses, vector speeds) { vector answer; // 날짜 ..

프로그래머스, C++) Lv 2. 프로세스

문제https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 같은 우선 순위의 값들을 구분하기 위해 queue를 pair의 형태로 생성해 index까지 저장하게 함.priority_queue를 통해 우선순위가 가장 큰 것을 설정 - top에 접근더보기#include #include #include #include #include using namespace std; /* Location의 해당하는 프로세스가 실행되는 순서는 무엇인가 priorities가 큰 순서로 실행됨. */ int solutio..

프로그래머스, C++) Lv 2. 피로도

문제https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=cpp 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 기존의 dfs와 동일하나 백트레킹이라는 개념이 추가됨dfs의 경우, visited배열을 통해 갔던 곳을 안가게 함.그러나 '피로도'의 경우, 가능한 모든 경우의 수를 전부 체크하기 때문에 재귀가 끝난 후, 다시 visited[i] = false 처리를 통해 모든 경우의 수 탐색 dfs와 재귀 기반의 코드 더보기#include using namespace std; int answer = 0; void dfs(int fatigu..