본문 바로가기

분류 전체보기488

최대공약수로 최소공배수 구하기 최소공배수를 구해보자우선 최대공약수를 구해야 한다.A, B에 대한 최대공약수는 A, B를 공약수로 나누면 얻을 수 있다. A를 4, B를 12라고 가정하고 최대공약수를 구해보자. 2 ) 4 122 ) 2  6 ------------     1   3 이렇게 공통의 약수로 나눠서 더 이상 나눠지지 않을 때까지 나눠주면 된다.이때 나눈 공약수를 모두 곱하면 이게 바로 최대공약수이다. 2 * 2 = 4최대공약수는 4 그리고 더 이상 나눠지지 않는 나머지 수들까지 모두 곱하면 최소공배수를 구할 수 있다.4 * 1 * 3 = 12최소공배수는 12 최대 공약수는 G로 표시하고 최소 공배수는 보통 L로 표현한다. 최대공약수(Greatest Common Diviosr)최소공배수(Least Common Multiple).. 2024. 5. 28.
C# [백준 BAEKJOON] 10866번 덱 문제정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여덟 가지이다.push_front X: 정수 X를 덱의 앞에 넣는다.push_back X: 정수 X를 덱의 뒤에 넣는다.pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 덱에 들어있는 정수의 개수를 출력한다.empty: 덱이 비어있으면 1을, 아니면 0을 출력한다.front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한.. 2024. 5. 28.
0 제곱일 때 1임을 증명해보자 증명 a0 = 1지수 법칙을 이용해서 a0 = 1 임을 증명할 수 있다. 지수 법칙 중 하나는 다음과 같다. am * an = am+n 여기서 a는 0이 아닌 임의의 수, m과 n은 정수이다. 이 법칙을 사용하여 a0이 1임을 증명해 보자. 1. m = 0으로 놓고 n = n으로 놓아보겠다. 그러면 지수 법칙에 따라 다음이 성립한다. a0 * an = a0 + n = ana0 * an = an 2. 양변을 an으로 나눠주면 3. 좌변은 a0가 되고, 우변은 1이 된다. 즉, a0 = 1 따라서, a는 0이 아닌 임의의 수이므로, 특히 a = 2일 때도 성립한다. 20 = 1 이로써 0 제곱이면 1 임을 증명했다. 2024. 5. 27.
C# [백준 BAEKJOON] 1874번 스택 수열 문제스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라. 입력첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다... 2024. 5. 24.
C# [백준 BAEKJOON] 11286번 절대값 힙 문제절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는 -231보다 크고, 231보다 작다. 출력입력에서 0이 주어진 회수만큼 답을 .. 2024. 5. 23.
C# 간단하게 10진수를 2진수, 16진수로 변환하기 간단하게 10진수를 2진수, 16진수로 변환하기문자열 보간을 이용하면 Convert와 같은 함수를 쓰지 않고 2진수, 16진수로 변환이 가능하다. static void Main(string[] args){ Console.WriteLine($"{133:B}"); Console.WriteLine($"{133:X}");} $"{10진수 숫자:B}" => 이진수로 변환$"{10진수 숫자:X}" => 16진수로 변환 B : Binary 2진수X : Hexadecimal 16진수를 의미한다.  간단하게 변환이 가능하다. 추가적인 숫자 서식 지정에 대해서는 아래의 글을 참고하자. 함께 읽으면 좋은 글 C# 숫자 서식 지정자(Number Format Specifier)표준 출력 형식의 문법 {n,w:tp} .. 2024. 5. 22.