⭐ 코딩테스트
[프로그래머스 C++] 피로도
[프로그래머스 C++] 피로도
2023.09.15[프로그래머스 C++] 피로도 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 DFS 완전 탐색 코드 #include #include #include using namespace std; int maxCnt; // 방문 가능한 최대 던전 개수 int ch[8]; // 각 던전에 대한 방문 여부 체크 배열 // x: 현재 에너지, dungeons: 각각의 던전 정보 (에너지 요구량, 소모량), cnt: 현재까지 방문한 던전의 개수 voi..
[프로그래머스 C++] 의상
[프로그래머스 C++] 의상
2023.09.15[프로그래머스 C++] 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 map 안의 벡터 배열 key와 여러개의 value 코드 #include #include #include #include using namespace std; int solution(vector clothes) { map myMap; //맵 생성, key: 의상의 종류, value: 의상의 이름들을 값 for (int i=0; isecond.push_back(..
[프로그래머스 C++] 행렬의 곱셈
[프로그래머스 C++] 행렬의 곱셈
2023.09.13[프로그래머스 C++] 행렬의 곱셈 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 행렬의 곱 코드 #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer(arr1.size(), vector(arr2[0].size())); for (int y = 0; y < arr1.size(); y++) { for (int x ..
[프로그래머스 C++] n^2 배열 자르기
[프로그래머스 C++] n^2 배열 자르기
2023.09.13n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 동적계획법, Dynamic Programming, DP 구현 첫번째 시도 코드 - 시간초과 #include #include using namespace std; vector solution(int n, long long left, long long right) { vector result(n*n); vector answer(right - left + 1); vector..
[프로그래머스 C++] 피보나치 수
[프로그래머스 C++] 피보나치 수
2023.09.12[프로그래머스 C++] 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 동적계획법 Dynamic Programming, DP 코드 #include #include using namespace std; int solution(int n) { int answer = 0; vector fib(n+1); fib[0] = 0; fib[1] = 1; for(int i=2; i
[프로그래머스 C++] [1차] 캐시
[프로그래머스 C++] [1차] 캐시
2023.09.11[프로그래머스 C++] [1차] 캐시 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 cache 캐시 Least Recently Used Algorithm, LRU 알고리즘 대문자 -> 소문자 변환, tolower, islower 소문자 -> 대문자 변환, toupper, isupper LRU 알고리즘 참고 링크 https://dailylifeofdeveloper.tistory.com/355 LRU 알고리즘 (Least Recentel..
[프로그래머스 C++] 할인행사
[프로그래머스 C++] 할인행사
2023.09.10[프로그래머스 C++] 할인행사 https://school.programmers.co.kr/learn/courses/30/lessons/131127/solution_groups?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 map key를 찾아 value를 값을 빼주고 0이 되면 map의 요소(element)를 빼준다. 코드 #include #include #include using namespace std; int solution(vector want, vector number, vector discount) { int ..
[프로그래머스 C++] H-Index
[프로그래머스 C++] H-Index
2023.09.08H-Index https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 구현 처음 시도한 코드 - 테스트 케이스 1개 통과 못함 #include #include #include using namespace std; int solution(vector citations) { int h = 0; //h: H-Index int n = citations.size(); //n: 발표한 논문의 수 sort(citations.begin(), citation..
[프로그래머스 C++] 괄호 회전하기
[프로그래머스 C++] 괄호 회전하기
2023.09.07[프로그래머스 C++] 괄호 회전하기 https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 구현 문자열 스택 Stack 큐, 데큐 Queue, Deque 코드 #include #include #include #include using namespace std; bool isMatch(char a, char b) { if (a == '[' && b == ']') return true; if (a == '{' && b == '}') return..
[프로그래머스 C++] 호텔 대실
[프로그래머스 C++] 호텔 대실
2023.09.06[프로그래머스 C++] 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 회의실 배정 시간 코드 #include #include #include using namespace std; int ch[1001]; bool Comp(pair&a, pair&b) { if (a.first == b.first) return a.second < b.second; return a.first < b.first; } int solution(ve..
[프로그래머스 C++] 연속 부분 수열 합의 개수
[프로그래머스 C++] 연속 부분 수열 합의 개수
2023.09.05[프로그래머스 C++] 연속 부분 수열 합의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 set 코드 #include #include #include using namespace std; int solution(vector elements) { int answer = 0; set mySet; int n = elements.size(); while (n>0) { //수열의 전체 개수만큼 for문 실행 for(int i=0; i
[프로그래머스 C++] 귤 고르기
[프로그래머스 C++] 귤 고르기
2023.09.04[프로그래머스 C++] 귤 고르기 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 맵 Map 정렬 코드 #include #include #include #include using namespace std; bool Compare(pair& a, pair& b) return a.second > b.second; int solution(int k, vector tangerine) { int answer = 0; map myMap; //m..