본문 바로가기

전체 글197

[C#] 19532번: 수학은 비대면강의입니다 목차백준 단계별로 풀어보기25.10.0812단계: 브루트 포스19532번: 수학은 비대면강의입니다문제 링크 : https://www.acmicpc.net/problem/19532 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 연립방정식의 해 구하기1. 대입법: 두 식 중, 어느 한 식에서 한 미지수를 다른 미지수로 표현한 뒤, 다른 식에 그대로 대입하여 계산하는 방법 2. 가감법: 두 연립 방정식에서 한 미지수의 계수를 같게 만든 뒤, 계수를 맞춘 두 식을 더하거나 빼서 한 미지수를 소거하여 계산하는 방법 >> 풀이: 브루트 포스 방식의 풀이a, b, c, d, e, f 를 입력받아 int값으로 변환한다.이중 for문을 통해 x와 y의 범위인 -999부터 999까지 반복하며 연립방정식을 모두 만족하는.. 2025. 10. 8.
[C#] 2231번: 분해합 목차백준 단계별로 풀어보기25.10.0712단계: 브루트 포스2231번: 분해합문제 링크 : https://www.acmicpc.net/problem/2231 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 분해합과 생성자: 어떤 자연수 M이 있을 때, 그 자연수 M의 분해합 N은 M과 M을 이루는 각 자리수의 합을 의미한다. 이때 M은 N의 생성자이다.--> 생성자가 없는 자연수도 있고 반대로 생성자가 여러 개인 자연수도 있다. 예를 들어 20은 생성자가 없으며, 216은 198과 207의 생성자를 갖는다. >> 풀이생성자를 찾을 값을 입력 받아 int값으로 변환하고 결과로 출력할 값을 변수로 선언한다.for 반복문을 통해 1부터 '입력값 - 1'까지 아래 과정을 반복하며 모든 경우의 수를 테스트한다.. 2025. 10. 7.
[C#] 2798번: 블랙잭 목차백준 단계별로 풀어보기25.10.0612단계: 브루트 포스2798번: 블랙잭문제 링크 : https://www.acmicpc.net/problem/2798 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 브루트 포스 (무차별 대입): 암호학에서 무차별 대입 공격 (brute-force attack)은 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. ※ 공식 문서 - 위키백과 무차별 대입 공격 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 전자 프론티어 재단(EFF)에서 제작한 DES 무차별 대입 공격 하드웨어. 약 하루 안에 DES를 해독하는 것이 가능하다. 암호학에서 무차별 대입 공격(영어: brute-force atko.wikipedia.org >> 풀이.. 2025. 10. 6.
[C#] 24313번: 알고리즘 수업 - 점근적 표기 1 목차백준 단계별로 풀어보기25.10.0411단계: 시간 복잡도24313번: 알고리즘 수업 - 점근적 표기 1문제 링크 : https://www.acmicpc.net/problem/24313 문제 풀이>> 문제에 나온 O-표기법 해석O(g(n)) = {f(n) | 모든 n ≥ n₀에 대하여 f(n) ≤ c × g(n)인 양의 상수 c와 n₀가 존재한다}O(n) --> g(n) = nf(n) = a₁n + a₀--> a₁, a₀, c, n₀ 가 주어졌을 때,O(n)에서 조건을 보면 a₁과 c에 각각 n을 곱하는 것이므로 'a₁ ≥ c' 라면 처음에 O(n₀) 가 참이더라도 n이 커지면서 결국엔 f(n) ≥ c × g(n) 즉, a₁n + a₀ ≥ c × n 이 되기 때문에 O(n) 정의를 만족할 수 없다... 2025. 10. 4.
[C#] 24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6 목차백준 단계별로 풀어보기25.10.0311단계: 시간 복잡도24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6문제 링크 : https://www.acmicpc.net/problem/24267 문제 풀이>> 문제를 풀기 위해 알아야 할 개념- 삼각수 (Triangular Number): 삼각수는 1부터 시작하는 연속된 자연수의 합을 나타내는 수이다. 이는 아래 그림과 같이 정삼각형 모양으로 배열된 물체의 개수와 같다.--> 앞서 업로드한 '알고리즘 수업 - 알고리즘의 수행 시간 4' 에서 나온 첫 항이 1, 공차가 1인 등차수열의 합과 동일하다. 즉, 1부터 n까지의 합은 n(n + 1) / 2(* 공차 : 연속하는 두 항 사이의 일정한 차이) ※ 참고 문서 - 위키백과 삼각수 - 위키백과, 우리 .. 2025. 10. 3.
[C#] 24266번: 알고리즘 수업 - 알고리즘의 수행 시간 5 목차백준 단계별로 풀어보기25.10.0211단계: 시간 복잡도24266번: 알고리즘 수업 - 알고리즘의 수행 시간 5문제 링크 : https://www.acmicpc.net/problem/24266 문제 풀이>> 문제에 나온 알고리즘 해석: 문제에 나온 MenOfPassion 알고리즘은 다음과 같다.MenOfPassion(A[], n) { sum 배열 'A[]' 과 'n' 을 입력받는다.'sum'에 0을 대입한다.for 반복문을 삼중으로 사용하여 1부터 n까지 반복하며 sum에 A[i] × A[j] × A[k] 값을 더하고 sum에 대입한다.sum을 반환한다. >> 풀이: 1부터 입력받은 n까지 for 반복문을 삼중으로 사용하기 때문에 n³ 만큼 코드1을 반복하고 알고리즘이 종료된다. 따라서 코드 .. 2025. 10. 2.