Algorithm

· Algorithm
✨ 알고리즘 분류 : 수학 / 정수론 / 유클리드 호제법 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - A와 B의 최소공배수를 출력 🧶 풀이과정 저번 풀이에서 최소공배수와 최대공약수를 만드는 법을 익혔으면 다시 한번 리마인드할 수 있는 문제이다. 최대공약수를 먼저 만들어주고, 최소공배수를 대입하여 푸는 방식을 쓰면 금방 사용할 수 있다. 최대공약수를 만드는 방법을 다시 설명하자면 1. a..
· Algorithm
✨ 알고리즘 분류 : 수학 / 정수론 / 유클리드 호제법 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 띄어쓰기를 기준으로 수가 두 개 주어진다 - 두 수의 최대공약수와 최소공배수를 각각 엔터로 구분하여 출력한다 🧶 풀이과정 기본적인 최소공배수와 최대공약수를 구하는 문제이다. 최대공약수를 만드는 법은 두 수를 계속해서 나누는 방식인데, 계속해서 반복하는 작업이기 때문에 반복문으로 활용이 가능하다. a와 b를 기준으로 나눌 값인 b, a와 b를 나눈 나머지를 계속해서 0이 될..
· Algorithm
✨ 알고리즘 분류 : 구현, 문자열 https://www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 문자열 N개가 입력의 수량 없이 엔터 구분해서 입력된다 - 입력된 문자열 중 포함된 소문자, 대문자, 숫자, 공백의 갯수를 각각 띄어쓰기로 구분하여 출력한다 🧶 풀이과정 어렵지 않은 구현 문제이다. 문자열을 입력받고, 그것을 if문으로 구분하기만 하면 되기 때문에 크게 문제가 되지 않는다. 🏹 제출코드 package dat..
· Algorithm
✨ 알고리즘 분류 : 구현, 문자열 https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 가져온 문자열의 첫 등장 위치를 가져온다 - 단어가 존재하지 않으면 -1을 출력한다 🧶 풀이과정 전의 문제와 같은 형식이지만, 조금 다른 점이 있다면 이것은 0이 등장한다는 것과 카운팅이 아니라 제일 처음 등장한 것만 저장을 한다는 것이다. 그렇기 때문에 조금 더 조건을 넣어보자. - 문자열의 x번째 문자열에 접근..
· Algorithm
✨ 알고리즘 분류 : 문자열, 구현 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 문자열에 들어있는 개수를 a 부터 z까지 출력- 해당하는 문자가 없으면 0 으로 출력을 해야 함 🧶 풀이과정 아주 기본적인 입출력 문제라 크게 설명이 필요하지 않지만, 조금 붙이자면 문제에서 문자는 무조건 알파벳 소문자로 되어있다. 그리고 0이 붙은 것까지 출력을 한다면, 크기가 26개인 배열을 만들고, 알파벳에 해당하는 것을 +하여 카운팅을 하면 되는 것이다. 아스키코드를 사용하면 아주 쉽게 구현이 가능하다. 순서는 다..
· Algorithm
✨ 알고리즘 분류 : 스택, 자료 구조 https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 기본적인 후위 표기식 문제이자 후위 표기식 출력 문제 - A-Z까지 주어지는 문자에 입력받는 숫자를 대입하여 풀이 - 식의 결과는 소숫점 둘째자리까지 표기 🧶 풀이과정 후위 표기식 문제는 스택을 활용하는 제일 흔한 예제로 많이 쓰인다. 후위 표기식을 사용하는 것을 쉽게 정리하자면 1 2 3 * + 4 5 / - ..
· Algorithm
✨ 알고리즘 분류 : 스택, 자료 구조 https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 자신의 오른쪽에 위치한 수 중에 등장 횟수가 자신보다 많은 수를 출력 - 오등큰수가 없다면 -1을 출력 - 등장 횟수는 수열 전체에서 count 🧶 풀이과정 바로 어제 했던 오큰수의 응용 버전이다. 어제에 했던 오큰수에서 아주 조금만 응용하면 어렵지 않게 풀 수 있다. 여기에서 중요한 건 등장 횟수인데, 등장 횟수는 수열 전체에서 카운..
· Algorithm
✨ 알고리즘 분류 : 스택, 자료구조 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 - 입력된 수열을 차례대로 순회한다. - 입력된 수열의 오른쪽에 위치하면서(index+@) 가장 가까운 큰 수를 찾는다. - 그러한 수가 존재하지 않을 경우 -1 을 입력한다. 🧶 풀이과정 🐣1차 요구조건을 충족하는 과정은 이해하기 쉬웠다. 우선, 입력받은 배열을 차례대로 순회하면서 큰 수를 잡는 것이기에 문제 자체는 어렵게 느껴지지 않았..
· Algorithm
✨ 알고리즘 분류 : 분류 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 🪡 문제에서 요구하는 조건 정리 1. 쇠막대기는 ( )로 되어있다. 2. 레이저는 반드시 앞뒤 한쌍의 () 로 이루어져 있다. 3. 쇠막대기는 반드시 레이저를 감싸는 형태이다 🧶 풀이과정 이 문제는 그려가면서 이해를 했는데, '(' 일 경우 무조건 스택에 넣고, ')' 가 나올 경우 스택에 있는 것과 이전 것을 비교해서 풀이하는 방식으로 접근했다. 처음에는 ')'가 나올 경우 무조..
JEE-JEEE
'Algorithm' 카테고리의 글 목록 (3 Page)