728x90
반응형

컴퓨터/문제풀이집

총 13개의 포스트

컴퓨터/문제풀이집(13)

  1. 백준 11729 - 하노이 탑 이동 순서

    11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 서론 재귀 함수의 기초적인 예제들을 다룰 때 하노이 탑 문제는 자주 등장합니다. 본문에서는 이 하노이탑 문제를 통해 재귀 함수를 이해해보도록 합시다. 문제 파악 하노이 탑이 어떻게 동작하는지에 대한 이해만 있다면 문제 자체는 어렵지 않을 수도 있습니다. 다만, 하노이 탑을 해결하는 문제가 어렵기 때문에 다소 복잡한 부분이 있습니다. 첫 번째 탑에 있는 원반 개수 N을 입력받는다. 세 번째 탑으로 원반을 옮기는 최소 횟수를 출력한다. 세 번째 탑으로 원..

    2022.06.03

    컴퓨터/문제풀이집

    Commnet

  2. 백준 17478 - 재귀함수가 뭔가요? (C언어 구현)

    17478번: 재귀함수가 뭔가요? 평소에 질문을 잘 받아주기로 유명한 중앙대학교의 JH 교수님은 학생들로부터 재귀함수가 무엇인지에 대하여 많은 질문을 받아왔다. 매번 질문을 잘 받아주셨던 JH 교수님이지만 그는 중앙대 www.acmicpc.net 서론 백준 단계별로 풀어보기에 재귀 영역에 있는 문제입니다. 재귀 함수를 통한 해결법을 제시하기를 바라는 문제입니다. 문제 파악 입력 N이 주어진다(N번 제출력) N은 1 이상 50 이하의 값이다. 입력에 따른 반복적인 출력을 한다. 출력 부분은 크게 3가지 부분으로 나눌 수 있다. "어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다." - 첫 시작 부분 "재귀 함수가 뭔가요?"~그 선인에게 한 선비가 찾아와서 물었어." - 반복 부분 "재귀 함수는 자..

    2022.05.31

    컴퓨터/문제풀이집

    Commnet

  3. 백준 2798 - 블랙잭

    2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 서론 해당 문제는 브루트 포스 알고리즘(완전 탐색)을 이용하여 풀 수 있는 문제입니다. 백준 단계별 학습에서 나오는 가장 기본적인 브루트 포스 알고리즘 문제 중 하나입니다. 문제 파악 우선 해당 문제에 대한 내용을 정리해보도록 합시다. 카드의 개수 N개를 입력받는다. 원하는 카드의 합 M을 입력받는다. N개만큼의 카드의 번호를 각각 입력받는다. 카드(N)는 최소 3개 최대 100개만 존재할 수 있다. 각각의 카드 N은 0~100,..

    2022.05.29

    컴퓨터/문제풀이집

    Commnet

  4. 백준 2750 - 수 정렬하기

    2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 수 정렬하기 백준 단계별 풀어보기 정렬 편에 있는 가장 첫 번째 문제입니다. 컴퓨터 알고리즘을 배울 때 정렬중에가장 기초 정렬방법은 버블 정렬입니다. 본문은 버블정렬의 개념을 C로 구현하여 풀도록 하겠습니다. 문제를 정리하면 다음과 같습니다. 첫 번째 입력값(N) - 정렬이 필요한 수의 개수 (1

    2022.05.16

    컴퓨터/문제풀이집

    Commnet

  5. 백준 2747 / 2748 - 피보나치 수 1,2 (재귀 vs 반복)

    2747번: 피보나치 수 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 피보나치 수 피 보나 치수에 대해 정리하자면 다음과 같습니다. 피보나치 수는 0과 1로 시작합니다. 0번째 피보나치 수 = 0 1번째 피보나치 수 = ..

    2021.11.25

    컴퓨터/문제풀이집

    Commnet

  6. 백준 2503 - 숫자 야구(C언어)

    2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 문제 파악 및 구현 준비 숫자 야구 게임 질문의 최대 횟수 100회 질문을 토대로 남아있는 정답의 경우의 수를 구하기 문제 자체의 내용은 어렵지 않았습니다. 구현 아이디어는 아래와 같습니다. 총 숫자 야구게임의 경우의 수를 구해서 2차원 배열을 통해 숫자 값과 그 숫자가 가능성이 있는지 저장하기 위한 배열 지정 테스트 케이스 입력 테스트 케이스의 데이터와 총 숫자 야구게임 경우의 수를 비교하며 가능성이 있는 수와 없는 수를 찾아내기 최종적으로 가능성이 있는 수만..

    2021.09.20

    컴퓨터/문제풀이집

    Commnet

  7. 백준 1292 - 쉽게 푸는 문제(C언어)

    1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 문제 파악 및 구현 준비 1000개의 규칙이 있는 수열 그 수열의 위치에 따른 숫자의 합을 구하기 구현 아이디어 1000개의 수열 구하기 for문을 활용하여 수열 규칙의 배열 제작 입력받은 수를 확인하여 제작한 배열의 인덱스를 참조하여 더하기 #define _CRT_SECURE_NO_WARNINGS #include int main() { // 수열 만들기 int nums[1000]; int cnt = 0; for (int i = 0; i < 1000; i++) { for (int j ..

    2021.08.17

    컴퓨터/문제풀이집

    Commnet

  8. 백준 1205 - 등수구하기(C언어)

    1205번: 등수 구하기 첫째 줄에 N, 송유진의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000 www.acmicpc.net 문제 파악 및 구현 준비 총 4개의 입력 값 1번째 (N) : 현재 기록된 점수들의 개수 2번째 (myscoure) : 나의 점수 3번째 (P) : 랭킹에 등록될 수 있는 점수의 개수 4번째 :현재 기록된 점수들의 점수 값 나의 점수가 랭킹에 등록될 수 있는가 ? 만약 현재 기록된 점수가 없다면 1 랭킹에 등록될수 없다면 -1 이외에는 등수를 출력 구현 아이디어 입력받은 N개의 점수들을 나의 점수와 비교하면서 측정한다 나의 점수와 리..

    2021.07.29

    컴퓨터/문제풀이집

    Commnet

  9. 백준 1236 - 성 지키기(C언어)

    1236번: 성 지키기 첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다 www.acmicpc.net 문제 파악 및 구현 준비 가로 X 세로 최대 50 X 50 모든 행과 열에 X(경비원)을 최소 한명 배치 즉 행과 열중 큰 행 또는 열 만큼 경비원의 수가 필요하다. 입력된 경비원의 수 파악 행기준 및 열기준 최대 값 (행과 열의 크기)에서 탐색된 경비원의 수만큼 1씩 감소하여 탐색방법 구현 이 경우 행 또는 열이 1인경우 문제가 있을수 있으므로 예외 처리하였음. #define _CRT_SECURE_NO_WARNINGS #include int main..

    2021.07.12

    컴퓨터/문제풀이집

    Commnet

  10. 백준 1032 - 명령프롬프트(C언어)

    문제 파악 및 구현 준비 최대 50개의 테스트 케이스 최대 50개의 문자열 입력 모든 테스트 케이스에서 동일한 자리의 문자 값이 다를 시?를 출력하는 패턴 만들기 #define _CRT_SECURE_NO_WARNINGS #include #include int main() { // 테스트 케이스 입력 int tcase = 0; scanf("%d", &tcase); //입력 받을 문자열 및 패턴 저장할 문자열 선언 및 초기화 char files[50][51] = {0}; char pattern[51] = { 0 }; //문자열 입력 for (int i = 0; i < tcase; i++) { scanf("%s", &files[i]); } //2중 for문 을 이용해 저장된 문자열 패턴 계산 // 입력받은 문..

    2021.06.29

    컴퓨터/문제풀이집

    Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :

1 2
728x90
반응형