다시풀어보자(6)
-
[백준 BOJ] 5567번 결혼식 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net 접근 방법 - 너비 우선 탐색(BFS) 이용한 연산 문제 백준의 5567번 문제는 그래프 탐색 연산을 이용하여 해결해야하는 문제이다. 해당 문제는, 입력받은 동기들의 관계를 통해 상근이가 결혼식에 초대할 인원의 수를 구하여 출력해야하는 문제이다. 여기서 상근이는 자신의 친구와 친구의 친구까지만 자신의 결혼식에 초대한다는 조건이, 문제에 제시되어있다. 따라서 굳이 DFS나 ..
2022.10.12 -
[백준 BOJ] 10866번 덱 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 접근 방법 - 덱을 이용한 기본 문제 백준의 10866번 문제는 자료 구조 중 덱을 이용한 기본적인 문제이다. 해당 문제는 덱 구조에서 실행 가능한 행위를 모두 갖춘 프로그램을 만들어야 하는 문제이다. 이전에 스택 문제와 큐 문제에 관련하여 작성한 글이 있다. 아래에 링크를 기재해놓으니, 생소하다면 참고해보는 것도 좋을 것이다. https://smary-it.tistor..
2022.02.09 -
[백준 BOJ] 10845번 큐 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 접근 방법 - 큐를 이용한 기본 문제 백준의 10845번 문제는 자료 구조 중 큐를 이용한 기본적인 문제이다. 해당 문제는 큐 구조에서 실행 가능한 행위를 모두 갖춘 프로그램을 만들어야 하는 문제이다. 이전에 큐가 아닌 스택 문제와 관련하여 작성한 글이 있다. 아래에 링크를 기재해놓으니, 생소하다면 참고해보는 것도 좋을 것이다. https://smary-it.tistor..
2022.02.09 -
[백준 BOJ] 10828번 스택 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 접근 방법 - 스택을 이용한 기본 문제 백준의 10828번 문제는 자료 구조 중 스택을 이용한 기본적인 문제이다. 해당 문제는 스택 구조에서 실행 가능한 행위를 모두 갖춘 프로그램을 만들어야 하는 문제이다. C++에는 stack 라이브러리가 따로 존재해서, 필자는 이를 이용해 문제를 해결하였다. 스택을 직접 구현해서 해결하는 방법도 있지만, 필자는 stack 라이브러리..
2022.02.09 -
[백준 BOJ] 1978번 소수 찾기 (C언어)
문제 설명 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 접근 방법 - 소수의 기본적인 정의에 대한 수학 문제 백준 1978번 문제는 소수의 기본적인 의미에 대해서 묻고 있는 수학적 사고력 문제이다. 어떤 숫자에 있어서, 나누어 떨어지는 숫자, 즉 약수가 1과 자기 자신 뿐인 숫자를 소수라고 부른다. 필자는 이 기본적인 정의에 중점으로 맞추어 문제를 해결해보려 하였다. 사실 노가다로 뛰어보았던 거지만 필자는 아래와 같은 순서로 코드를 작성하였고 문제를 해결하였다. 코드의 실행 순서 1) 입력받을 숫자의 개수와 ..
2022.01.11 -
[백준 BOJ] 1292번 쉽게 푸는 문제 (C언어)
문제 설명 https://www.acmicpc.net/problem/1292 1292번: 쉽게 푸는 문제 첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다. www.acmicpc.net 접근 방법 - 정말 "나름 가볍게" 풀 수 있는 수학적 사고 문제 백준의 1292번 문제는 단순 수학적 사고력을 요구하는 문제이다. 문제의 범위가 비양심적으로 방대했다면 어려웠을 수도 있지만, 그렇지는 않아서 무난하게 풀 수 있었다. 필자는 아래의 규칙을 찾아내고 아래의 순서대로 코드를 작성하여 문제를 해결하였다. 밑의 후기도 한번 참고해보길 바란다. 필자가 이용한 규칙 (배열 번호 i인 배열 값 : cnt)..
2022.01.08