정신과 시간의 방

코딩테스트 128

카테고리 설명
  • 문제 풀이#include using namespace std;int main(){ // 초기값 int n = 0; cin >> n; // 분해합은 초기에 받은 n보다 큰 수가 된다. // 따라서 n까지 반복문을 돌려서 n보다 작은 모든 수의 분해합을 탐색한다. for (int i = 1; i  메모이 문제는 완전탐색 알고리즘인 브루트 포스에 속하는 문제다.완전탐색 알고리즘은 가능한 모든 경우의 수를 모두 탐색하며 요구조건에 충족되는 결과만을 찾아낸다.선형 구조에서의 순차 탐색, 비선형 구조에서의 DFS, BFS가 기본적으로 사용된다.또한 이 문제는 각 자릿수끼리의 값을 분해한 값을 구해 문제 풀이에 사용하는 문제이기도 하다.아래의 코드가 바로 자릿수를 구하는 코드 == k진수를 맨 끝자리부터 구해나가는..

  • 보호되어 있는 글입니다.

  • 문제 풀이#include #include using namespace std;int main(){ int k = 0; cin >> k; stack s; for (int i = 0; i > input; if (input != 0) { s.push(input); } else { s.pop(); } } int size = s.size(); int sum = 0; for (int i = 0; i

  • 문제 풀이#include using namespace std;int run(string strInput){ int strLength = strInput.length(); int index = strLength - 1; for (int i = 0; i > strInput; if (strInput == "0") { break; } int result = run(strInput); if (result == 0) { cout  메모대칭되는 index에 위치하는 문자열을 서로 비교하는 방식으로 풀었다.그런데 이렇게 하는 것보다 아래처럼 reverse() 함수를 사용하는 편이 코드가 더 간결해진다.#include #include #include using namespace std;int main(..

  • 문제 풀이#include using namespace std;int FindPrime(int n){ // 음수, 1은 소수가 아니므로 제외한다. if (n > m >> n; for (int i = m; i  메모반복문의 시작지점과 끝지점이 주어진다는 점만 제외하면 아래 문제와 동일한 문제다.https://risehyun.tistory.com/406 n; for (int i = 0; i > input; int result = FindPrime(input); if (result == 1) { count++; } } cout" data-og-host="risehyun.tistory.com" data-og-source-url="https://risehyun.tistory.com/406" data-og-url="..

  • 문제 풀이#include using namespace std;int main(){ int n = 0; int maxScore = 0; double sum = 0.0; double result = 0.0; cin >> n; double* score = new double[n]; for (int i = 0; i > score[i]; if (score[i] > maxScore) { maxScore = score[i]; } } for (int i = 0; i  메모출력 시 결괏값의 소수점을 고정하기 위해서 아래 코드를 사용했다. cout

  • 문제 풀이sort 함수를 사용해서 풀면 되는 문제로 보이지만 메모리와 시간제한이 있는 문제라서 다르게 접근해야 한다.문제를 잘 읽어보면 첫째 줄에 주어지는 수가 10,000보다 작거나 같은 자연수라는 조건이 주어진다.따라서 직접적으로 sort를 하는 것이 아니라, 크기가 10001인 배열을 만들어서 입력값과 동일한 숫자를 카운팅 하고 카운팅 된 개수 = 숫자가 등장한 개수이므로 해당 크기만큼 순차적으로 숫자를 출력하는 계수 정렬(counting sort)을 사용해야 한다.main() 함수 안에서 선언된 아래의 코드 3줄은 입출력으로 인한 실행 속도 저하를 방지하기 위해 c 표준 스트림 버퍼와의 동기화를 해제하고 자체적인 c++ 버퍼를 가지도록 해준다. 이를 통해 입출력 속도를 높일 수 있다. #inclu..

  • 문제 풀이#include #include using namespace std;int main(){ string a, b, c; int number = 0; cin >> a >> b >> c; if (c[0] >= 48 && c[0] = 48 && b[0] = 48 && a[0]