⭐ 코딩테스트/프로그래머스
[프로그래머스 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..
[프로그래머스 C++] 멀리 뛰기
[프로그래머스 C++] 멀리 뛰기
2023.08.30[프로그래머스 C++] 멀리 뛰기 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 동적계획법 Dynamic Programming, DP 코드 #include using namespace std; long long solution(int n) { long long answer = 0; if (n == 1) return 1; if (n == 2) return 2; vector dp(n+1); dp[0] = 0; dp[1] = 1; dp[2..
[프로그래머스 C++] 예상 대진표
[프로그래머스 C++] 예상 대진표
2023.08.28[프로그래머스 C++] 예상 대진표 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 토너먼트 Tournament 브루트포스 Brute Force 코드 #include using namespace std; int solution(int n, int a, int b) { int answer = 0; while(a != b) { a = (a + 1) / 2; b = (b + 1) / 2; answer++; } return answer; } ..
[프로그래머스 C++] N개의 최소공배수
[프로그래머스 C++] N개의 최소공배수
2023.08.27[프로그래머스 C++] N개의 최소공배수 https://school.programmers.co.kr/learn/courses/30/lessons/12953?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 최소공배수 코드 #include #include #include using namespace std; int solution(vector arr) { int answer = *max_element(arr.begin(), arr.end()) - 1; while (true) { answer++; for (int i = 0; i ..
[프로그래머스 C++] 올바른 괄호
[프로그래머스 C++] 올바른 괄호
2023.08.26[프로그래머스 C++] 올바른 괄호 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 괄호 누적 코드 #include #include using namespace std; bool solution(string s) { bool answer = true; int cnt = 0; for (const auto& i : s) { if (i == '(') cnt++; else if (i == ')') cnt--; if (cnt < 0) retur..
[프로그래머스 C++] 점프와 순간 이동
[프로그래머스 C++] 점프와 순간 이동
2023.08.24[프로그래머스 C++] 점프와 순간 이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 홀수, 짝수 코드 #include using namespace std; int solution(int n) { int ans = 0; // 문제풀이 Tip // 점프, 순간이동의 순서를 고려하지 않아도 된다.(이 부분을 생각하기 힘들었다) // 도착위치에서 거꾸로 계산해 나간다. // 순간이동은 x2이기 때문에 /2로 되돌아간다고 생각한다. // ..