코딩테스트42 [C++/PGS] Lv.2 : 괄호 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2 - 월간 코드 챌린지 시즌2 기출s 길이가 1000이하로 정해져있어서, 이중 반복문으로 쉽게 풀 수 있었다큐, 스택 자료구조를 잘 알아야 하는게 포인트인 문제인듯 나의 풀이#include #include #include #include using namespace std;int solution(string s) { int answer = 0; queue q; queue newq; for(int i=0;.. 2025. 4. 23. [C++/PGS] Lv.4 : 호텔 방 배정 (재귀) https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 4. 정답률 35%재귀 사용 문제!! 1. 효율성 실패 (78.8/100)테스트케이스는 다 맞았는데, 효용성은 0점 ㅋㅋ아마도 아래 부분이 문제였을 것이다. while(rooms.find(n) != rooms.end()){ n++;} 빈 방을 찾을때까지 while문을 돌렸는데, 이 부분을 최적화해야 통과할 것 같다.다음 빈 방을 효율적으로 저장할 수 있는 방법이 뭐가 있을까고민해봐도 모르겠어서 질문 게시판에서 힌트를 얻었다.. 2025. 4. 16. [C++/PGS] Lv.3 : 연속 펄스 부분 수열의 합 (DP) https://school.programmers.co.kr/learn/courses/30/lessons/161988 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.cpp 배열 선언도 까먹어버려서 .. 큰일났다 ㅋㅋ다시 다 공부해야지 이 문제는 dp로 풀어야하는데, 아이디어 떠올리기기ㅏ 조금 힘들었다펄스 배열과 연속 부분수열을 보고 sliding window로 풀어야하나? 싶었는데풀다 보니 left를 옮길 조건이 없어서 이게 아닌가보다 싶었다.그래서 DP로 최댓값을 저장하면서 풀었다! 일차원 배열을 두개 쓰려다가, 더 효율적인 코드를 위해 이차원 배열로 바꾸었다.dp[][0] -> 펄.. 2025. 4. 15. [C++/PGS] Lv.3 : 징검다리 건너기 https://school.programmers.co.kr/learn/courses/30/lessons/64062?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.문제를 읽으면서 풀이 방법을 고민해봤는데, 뭔가 범위가 너무 커서 슬라이딩 윈도우나 이분탐색으로 푸는 것 같았다.그리고 예상이 맞았다!확실히 문제를 많이 풀수록 이제 어떻게 접근해야할지 눈에 보이는 것 같다. 🔥 중요 포인트1. 구해야 하는 값이 'k개 범위의 최댓값'의 최솟값이라는 사실을 깨닫기2. 그 값을 구하기 위해서, 각 범위의 최댓값을 보존하면서 윈도우를 움직여야 함.3. 그걸 위해서, De.. 2025. 4. 14. [Javascript/PGS] Lv.2 : N개의 최소공배수 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.여러 수의 최소공배수를 구하는 문제이고, 반복문을 사용해서 2개씩 구하면 된다 일반적으로 사용하는 변수/함수명- 최대공약수 = gcd- 최소공배수 = lcm 최소공배수 구할 땐 [ a*b/gcd ] !!!!gcd 함수에서 b로 계속 나눈 나머지를 구하면서, b가 0일때의 a값이 최소공약수가 된다. 나의 풀이function gcd(a, b){ while(b>0){ let tmp = b; b = .. 2025. 4. 8. [Javascript/PGS] Lv.2 : 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.그냥 반복문 + substr로 풀었는데, 효율성에서 너무 오래걸림. 아 뭔가 문제가 있다! 라고 판단해서방법을 생각해봤는데스택으로 푸는게 최고의 방법인 것 같았다.substr은 각각 O(N)이지만, push/pop은 각각 O(1)이므로 결국 문자열이 아니라 배열로 해결하는게 맞았다 ^-^ 나의 풀이function solution(s){ var answer = 0; if(s.length 2025. 4. 1. 이전 1 2 3 4 ··· 7 다음 728x90 반응형