본문 바로가기

전체 글133

[백준 6588] 골드바흐의 추측, C++ https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 문제 1742년, 독일의 아마추어 수학가 크리스티안 골드바흐는 레온하르트 오일러에게 다음과 같은 추측을 제안하는 편지를 보냈다. 4보다 큰 모든 짝수는 두 홀수 소수의 합으로 나타낼 수 있다. 예를 들어 8은 3 + 5로 나타낼 수 있고, 3과 5는 모두 홀수인 소수이다. 또, 20 = 3 + 17 = 7 + 13, 42 = 5 + 37 = 11 + 31 = 13 + 29 = 19 + 23 이다. 이 추측은 아직도 해결되지 않은 문제이다. 백만 이하의 모 www.acmicpc.net 본 문제는 1998 University of Ulm Local Contest G번 문제다. 1742년 골드바흐는 다음과 같은 추측.. 2020. 1. 9.
[백준 1929] 소수 구하기, C++ https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) www.acmicpc.net 본 문제는 소수 구하기 문제인데 입력 값이 1,000,000이다. 소수를 판단하는 알고리즘은 1 2 3 4 5 6 7 bool pnum (int n) { if (n 2020. 1. 9.
[백준 1037] 약수, C++ https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. www.acmicpc.net 본 문제는 주어진 약수를 이용하여 어떤 수 인지 맞추는 문제다. 제일 큰 약수와 제일 작은 약수의 곱으로 쉽게 풀 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include #include using namespace std; int main(){ int n, tmp, min = 1e9, max = 0; scanf("%d.. 2020. 1. 8.
[백준 4375] 1, C++ https://www.acmicpc.net/problem/4375 4375번: 1 문제 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. 입력 입력을 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. 출력 1로 이루어진 n의 배수 중 가장 작은 수의 자리수를 출력한다. 예제 입력 1 복사 3 7 9901 예제 출력 1 복사 3 6 12... www.acmicpc.net 본 문제는 2001 Waterloo's local Programming Contests E번 문제로 n의 배수 중 1로만 이루어진 제일 작은 수의 자릿수를 구하는 문제다. 계산할 때, long l.. 2020. 1. 8.
[백준 1158] 요세푸스 문제, C++ https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 본 문제는 배열을 이용해서 풀 수 있다. 이 문제에서 queue를 사용하는 것이 효율적이지 못하지만 처음에 딱 떠오르는 게 queue였다. 문제를 풀는 것에서 끝내는 게 아니라 좀 더 효율적인 코드를 보면서 공부하는 것이 바람직하다고 생각한다. 순서에 맞는 숫자 찾기 출력 후 지우기 queue 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include usi.. 2020. 1. 8.
[백준 1406] 에디터, C++ https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net 본 문제는 2004 Olympiad Croatian Highschool Competitions in Informatics National C.. 2020. 1. 8.
[백준 1874] 스택 수열, C++ https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 본 문제는 stack을 잘 사용할 수 있는지 물어보는 문제다. 예를 들어 stack이 empty인데 stack top, pop을 하는 경우를 생각해야 한다. 그것만 잘 고려한다면 쉽게 문제를 풀 수 있다. 그래서 그냥 모든 경우에 stack이 empty가 아닐 경우를 추가했다. 그 외 문제들은 스택 수열 FAQ를 참.. 2020. 1. 8.
[백준 9012] 괄호, C++ https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 본 문제는 2012 ICPC Daejeon Nationalwide Internet Competition G번 문제다. stack을 이용하면 .. 2020. 1. 8.
[백준 9093] 단어 뒤집기, C++ https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 문제 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 공백이 하나 있다. 출력 각 테스트 케이스에 대해서, 입력으로 주어진 문장의 단어를 모두 뒤집어 www.acmicpc.net 본 문제는 2001 ICPC Asia Regional Taejon PA번 문제다. 문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는.. 2020. 1. 8.