⭐ 코딩테스트
[프로그래머스] 이진 변환 반복하기
[프로그래머스] 이진 변환 반복하기
2023.07.30[프로그래머스] 이진 변환 반복하기 https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 문자열 to_string 이진법 변환 코드 #include #include using namespace std; vector solution(string s) { vector answer; int Count = 0, zeroCnt = 0, oneCnt = 0; while(s.size() > 1) { for (const auto& i : s) { if (..
[프로그래머스] 최솟값 만들기
[프로그래머스] 최솟값 만들기
2023.07.29[프로그래머스] 최솟값 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 정렬 코드 #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(), A.end()); sort(B.rbegin(), B.rend()); for(int i = 0; i < A.size(); i++){ answer += A[i] *..
[백준 13305번 C/C++] 주유소
[백준 13305번 C/C++] 주유소
2023.07.28[백준 13305번 C/C++] 주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 해결전략 Greedy Algorithm 탐욕 알고리즘 코드 #include #include using namespace std; int n, tmp; long long minCost; vector r; vector c; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)..
[프로그래머스] JadenCase 문자열 만들기
[프로그래머스] JadenCase 문자열 만들기
2023.07.27[프로그래머스] JadenCase 문자열 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 문자열 코드 #include #include using namespace std; string solution(string s) { string answer = ""; bool flag = true; for (int i = 0; i < s.size(); i++) { if (s[i] == ' ') //빈 공객 확인 { answer.push_b..
[백준 16234번 C/C++] 인구 이동
[백준 16234번 C/C++] 인구 이동
2023.07.26[백준 16234번 C/C++] 인구 이동 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 해결전략 너비 우선 탐색 BFS 코드 #include #include #include #include #include using namespace std; const int dy[4] = {-1, 1, 0, 0}; // 선언: 상, 하 이동 const int dx[4] = {0, 0, -1, 1}; // 선언: 좌, 우 이동 int n, l..
[백준 11404번 C/C++] 플로이드
[백준 11404번 C/C++] 플로이드
2023.07.25[백준 11404번 C/C++] 플로이드 https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 해결전략 플로이드 워셜 Floyd-Warshall Algorithm 코드 #include #include #include using namespace std; int n, m; vectordist; const int INF = 2147000000 / 2;//최댓값 설정 int main() { ios::sync_with_stdio(false); cin.tie..
[백준 2293번 C/C++] 동전 1
[백준 2293번 C/C++] 동전 1
2023.07.24[백준 2293번 C/C++] 동전 1 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 해결방안 Dynamic Programming (DP) 동적계획법 시도 코드 - 시간초과 #include #include using namespace std; int n, k; vector v; vector dp; int coin[101]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); c..
[프로그래머스] 최댓값과 최솟값
[프로그래머스] 최댓값과 최솟값
2023.07.23[프로그래머스] 최댓값과 최솟값 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 string, stoi, atoi 코드 #include #include #include #include using namespace std; string solution(string s) { string answer = ""; string tmp = ""; vector v; for (int i = 0; i < s.size(); i++) { if (s[i] ..
[백준 2447번 C/C++] 별 찍기
[백준 2447번 C/C++] 별 찍기
2023.07.21[백준 2447번 C/C++] 별 찍기 해결전략 재귀 Recursion 코드 #include using namespace std; void Star(int y, int x, int num) { if ((y / num) % 3 == 1 && (x / num) % 3 == 1) cout n; for (int y = 0; y < n; y++) { for (int x = 0; x < n; x++) { Star(y, x, n); } cout
[프로그래머스] 정수 삼각형
[프로그래머스] 정수 삼각형
2023.07.20[프로그래머스] 정수 삼각형 https://school.programmers.co.kr/learn/courses/30/lessons/43105?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결전략 Dynamic Programming (DP) 동적계획법 코드 #include #include #include using namespace std; int solution(vector triangle) { int answer = 0; int dp[500][500]; dp[0][0] = triangle[0][0]; dp[1][0] = dp[..
[백준 18405번 C/C++] 경쟁적 전염
[백준 18405번 C/C++] 경쟁적 전염
2023.07.19[백준 18405번 C/C++] 경쟁적 전염 https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 해결전략 구현, 그래프 이론, 그래프 탐색, 너비 우선 탐색 (BFS) 코드 #include #include #include #include using namespace std; int n, k, s, row, column; vector v; int dirY[4] = { -1, 0, 1, 0 }; int dirX[4] = ..
[백준 1541번 C/C++] 잃어버린 괄호
[백준 1541번 C/C++] 잃어버린 괄호
2023.07.17[백준 1541번 C/C++] 잃어버린 괄호 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 해결전략 Greedy Algorithm 그리디 알고리즘 (탐욕 알고리즘) 코드 #include #include #include using namespace std; int main() { string input; cin >> input; int num = 0; bool minusFlag = false; int result = 0; for (char..