⭐ 코딩테스트/프로그래머스
[프로그래머스 C++] 혼자서 하는 틱택토
[프로그래머스 C++] 혼자서 하는 틱택토
2024.03.22[프로그래머스 C++] 혼자서 하는 틱택토 https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 정답코드 #include #include #include using namespace std; int solution(vector b) { int answer = 1; int SumBingGo_O = 0; // O 전체 빙고 수 int SumBingGo_X = 0; // X 전체 빙고 수 int black = 0; // O 개수 int w..
[프로그래머스 C++] 가장 긴 팰린드롬
[프로그래머스 C++] 가장 긴 팰린드롬
2024.03.20[프로그래머스 C++] 가장 긴 팰린드롬 https://school.programmers.co.kr/learn/courses/30/lessons/12904 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 글자 자리를 한칸씩 이동하며 글자 자리 기준으로 양옆을 검사한다. ex. "abcdcba" a 자리 검사 b 자리 검사 홀수 가정: b기준으로 양옆의 a, c가 같은지 검사. 같다면 계속해서 양옆으로 가면서 검사. int left = i-1, right = i+1; if (s[left] != s[right]) 짝수 가정: b기준으로 왼쪽의 a..
[프로그래머스 C++] 이모티콘 할인행사
[프로그래머스 C++] 이모티콘 할인행사
2024.03.18[프로그래머스 C++] 이모티콘 할인행사 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 깊이우선탐색 DFS 정답코드 #include #include #include using namespace std; int n, m; vector answer(2); int discount[4] = { 10, 20, 30, 40 }; vector price(7); // 이모티콘 가격, 할인율 void DFS(int idx, const vect..
[프로그래머스 C++] 두 원 사이의 정수 쌍
[프로그래머스 C++] 두 원 사이의 정수 쌍
2024.03.17[프로그래머스 C++] 두 원 사이의 정수 쌍 https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 수학 구현 정답코드 #include using namespace std; long long solution(int r1, int r2) { long long answer = 0; for(int i = 1; i
[프로그래머스 C++] 과제 진행하기
[프로그래머스 C++] 과제 진행하기
2024.03.13[프로그래머스 C++] 과제 진행하기 https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 문자열 자료구조 스택 stack 정답코드 #include #include #include #include #include using namespace std; struct Info { // 과제 정보를 담는 구조체 정의 string subject; int time, duration; Info(string a, int b, int c) { subjec..
[프로그래머스 C++] 혼자 놀기의 달인
[프로그래머스 C++] 혼자 놀기의 달인
2024.03.11[프로그래머스 C++] 혼자 놀기의 달인 https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 구현 풀이보다 문제를 해석하기가 더 힘든 문제다.. 정답코드 #include #include #include #include using namespace std; int solution(vector cards) { int n = cards.size(); // 전체 카드수 if (n < 1) return 0; // 카드가 한 개만 있는 경우 vec..
[프로그래머스 C++] 우박수열 정적분
[프로그래머스 C++] 우박수열 정적분
2024.03.06[프로그래머스 C++] 우박수열 정적분 https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결방안 수학, 구현 정적분 공식을 사용하지 않아도 된다. 구분구적법의 개념으로 x길이 1단위로 도형의 넓이를 구하면 된다. 넓이는 마름모를 구하는 방식인 (윗변 길이 + 아랫변 길이) / 2 로 구하면 된다. 정답 코드 #include using namespace std; vector solution(int k, vector ranges) { vector..
[프로그래머스 C++] 광물 캐기
[프로그래머스 C++] 광물 캐기
2024.03.04[프로그래머스 C++] 광물 캐기 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 깊이우선탐색 DFS 그리디 Greedy 정답 코드 - DFS #include #include #include using namespace std; int answer; // fatigue: 피로도, idx: 현재 인덱스, dia, iro, sto: 각 곡괭이의 수, 광물 벡터 void Shuffle(int fatigue, int idx, int dia,..
[프로그래머스 C++] 점 찍기
[프로그래머스 C++] 점 찍기
2024.03.02[프로그래머스 C++] 점 찍기 https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 전략 수학 #include using namespace std; long long solution(int k, int d) { long long answer = 0; for(int a = 0; a * k
[프로그래머스 C++] 문자열 압축
[프로그래머스 C++] 문자열 압축
2024.02.27[프로그래머스 C++] 문자열 압축 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 문자열 정답코드 #include #include #include using namespace std; int solution(string s) { int answer = s.size(); // // 최소 문자열 길이를 초기값으로 문자열의 전체 길이를 설정 int n = s.size(); string rep = ""; for (int i = 1; i 1)..
[프로그래머스 C++] 디펜스 게임
[프로그래머스 C++] 디펜스 게임
2024.02.23[프로그래머스 C++] 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 우선순위큐 Priority Queue 처음 시도한 코드 - DFS 시간초과 #include #include #include using namespace std; int answer; void DFS(int n, int k, vector e, int cnt) { if (cnt == e.size() || k < 0 || k == 0 && n - e[cnt..
[프로그래머스 C++] 멀쩡한 사각형
[프로그래머스 C++] 멀쩡한 사각형
2024.02.12[프로그래머스 C++] 멀쩡한 사각형 https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 기하학, 수학 그리디 알고리즘 Greedy Algorithm 핵심 아이디어 w x h 크기의 사각형이 있다. 사각형을 대각선으로 자를 때 영향을 받는 블록은 " w + h - 1 " 만큼의 블록이다. w x h 크기의 사각형을 대각선으로 자를 때, 반드시 가로는 w 만큼, 세로는 h 만큼 가야한다. 가로 w, 세로 h만큼 총 w + h을 가게 되는데,..