[Level2] [C++] 큰 수 만들기
·
[게임 개발] 알고리즘 공부/프로그래머스
링크 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 입출력 예제 코드 #include #include using namespace std; string solution(string number, int k) { string answer = ""; int cnt = k; while(cnt != 0) { for(int i = 0; i < number.size(); i++) { if(number[i] < number[i+1]) { number..
[C++] [골드 5] 1911번: 흙길 보수하기
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/1911 1911번: 흙길 보수하기 어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N(1 ≤ N ≤ 10,000)개의 물웅덩이가 생겼다. 월드학원은 물웅덩이를 덮을 수 있는 길이가 L(1 ≤ L ≤ 1,000 www.acmicpc.net 문제 입출력 예제 코드 #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int answer = 0; int N; // 웅덩이 개수 int L; // 널빤지 길이 vector pool; ci..
[C++] [골드 5] 1092번: 배
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/1092 1092번: 배 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보 www.acmicpc.net 문제 입출력 예제 코드 #include #include #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); vector crane; vector box; int result = 0; int craneNum = 0; int boxNum..
[C++] [실버 1] 9009번: 피보나치
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/9009 9009번: 피보나치 입력 데이터는 표준입력을 사용한다. 입력은 T 개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 테스트 데이터의 수를 나타내는 정수 T 가 주어진다. 각 테스트 데이터에는 하나의 정수 n www.acmicpc.net 문제 입출력 예제 코드 #include #include #include #include using namespace std; int main(void) { int pibo[46] = {}; pibo[0] = 0; pibo[1] = 1; // 피보나치 배열 for(int i = 2; i < 46; i++) { pibo[i] = pibo[i - 1] + pibo[i - 2]; } int num = ..
[C++] 16953번: A -> B
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A > aNum >> bNum; while (stoi(aNum) < stoi(bNum)) { if (bNum[bNum.size() - 1] == '1') { bNum.erase(bNum.begin() + bNum.size() - 1); } else if(stoi(bNum) % 2 == 0) { b..
[C++] 체육복
·
[게임 개발] 알고리즘 공부/프로그래머스
링크 https://school.programmers.co.kr/learn/courses/30/lessons/42862# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 입출력 예제 코드 #include #include #include #include using namespace std; int solution(int n, vector lost, vector reserve) { int answer = 0; vector canLend(n, false); vector completed(n, false); answer = n - lost.size(); //..
[C++] 1541번: 잃어버린 괄호
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 입출력 예제 코드 #include #include #include using namespace std; int main(void) { string inputStr = ""; string num = ""; int answer = 0; bool isMinus = false ; cin >> inputStr; for (int i = 0; i < inputStr.size(); i++) { ..
[C++] 13975번: 파일 합치기 3
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/13975 13975번: 파일 합치기 3 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T개의 테스트 데이터로 이루어져 있는데, T는 입력의 맨 첫 줄에 주어진다.각 테스트 데이터는 두 개의 행으로 주어지는데, www.acmicpc.net 문제 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본이 들어있는 한 개의 파일을 만든다. 이 과정에서 두 개의 파일을 합쳐서 하나의 임시파일을 만들고, 이 임시파일이나 원래의 파일을 계속 두 개씩 합쳐서 파일을 합쳐나가고, 최종적으로는 하나..
[C++] 2141번: 우체국
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/2141 2141번: 우체국 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 X[1], A[1], X[2], A[2], …, X[N], A[N]이 주어진다. 범위는 |X[i]| ≤ 1,000,000,000, 1 ≤ A[i] ≤ 1,000,000,000 이며 모든 입력은 정수이다. www.acmicpc.net 문제 수직선과 같은 일직선상에 N개의 마을이 위치해 있다. i번째 마을은 X[i]에 위치해 있으며, A[i]명의 사람이 살고 있다. 이 마을들을 위해서 우체국을 하나 세우려고 하는데, 그 위치를 어느 곳으로 할지를 현재 고민 중이다. 고민 끝에 나라에서는 각 사람들까지의 거리의 합이 최소가 되는 위치에 우체국을..
[C++] 1715번: 카드 정렬하기
·
[게임 개발] 알고리즘 공부/백준
링크 https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 문제 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있다. 이들을 두 묶음씩 골라 서로 합쳐나간다면, 고르는 순서에 따라..