백준

    [2812]크게 만들기

    www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 받은 입력 문자열을 하나씩 스택에 넣고 스택의 top위치 값이 현재 값보다 크면 최대 K번 pop한다 그럼 내림차순 형태의 수가 나오게 된다. 모두 같은 숫자일 경우에는 더이상 지워지지 않으므로 마지막에 N-K길이의 문자열로 출력하도록 했습니다 #include #include #include #include #include using namespace std; int main() { int N, K; cin>>N>>K; string s; cin>>s; stack st; int d = 0;..

    [3079]입국심사

    www.acmicpc.net/problem/3079 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net #include #include #include using namespace std; vector v; long long N, M; long long calc(long long mid){ long long res = 0; for(int i = 0; i

    [알고리즘]완전탐색(Brute-force)

    브루트포스(brute force)알고리즘, 완전탐색이란 가능한 경우를 모두 탐색해보는 방법입니다. 예시로는 해킹 시 모든 가능한 경우의 비밀번호를 다 넣어보는 것 등이 해당됩니다. 특정 알고리즘을 쓰게 하기 위해 시간제한이 짧은 경우엔 시간초과가 나지만, 때로는 완전탐색을 하는 방법이 간단하고 확실한 방법일 수 있습니다. 예제 (c++) 백준 2309-일곱 난쟁이 9명의 키가 입력으로 주어지는데 키 합이 100이 되는 7명의 키를 출력하는 문제입니다. #include #include #include using namespace std; int main() { vector v; int sum = 0; int one = 0; int two = 0; for (int i = 0; i < 9; i++) { int..

    [백준-16693]Pizza Deal(C++)

    [백준-16693]Pizza Deal(C++)

    소스코드 #include using namespace std; int main(){ double A1,P1,R1,P2; cin>>A1>>P1>>R1>>P2; if(A1*P2>R1*R1*3.1415926535*P1){ cout

    [백준-9020]골드바흐의 추측(C++)

    [백준-9020]골드바흐의 추측(C++)

    https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수 www.acmicpc.net 모든 짝수는 두 소수의 합으로 표현할 수 있다는 것이 골드바흐의 추측입니다. 짝수가 주어졌을 때 합으로 표현할 수 있는 두 소수를 찾으면 됩니다. (여러개일 경우 차이가 가장 적은 두 소수를 찾으면 됩니다) 예) 8 = 3+5 10 = 5+5 16 = 5+11 이전에 포스팅한 소수찾기 문제를 응용하면 풀 수 있는 문제입니다. 문제 해결한 알고리즘 주어진 짝수를 n이라 하겠습니다..

    [백준-1978]소수 찾기(C++)

    [백준-1978]소수 찾기(C++)

    https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 입력받은 수 중에서 소수의 개수를 찾는 간단한 문제입니다. 예전에 프로그래머스에서 풀어봤는데 그 때 막코딩으로 풀었다가 계속 시간초과 났던게 생각나네요ㅜㅜ 우리가 수학시간에 배워서 알고있던 소수의 정의로 푸는 것 보다 좀더 빠르게 구현할 수 있는 소수찾는 알고리즘이 있습니다. 소수 찾는 알고리즘 소수 배열이 있다고 생각해봅시다. 소수 배열에는 일단 확실히 소수인 2만 들어가있습니다. 2부터 시작해서 3,4,5,6,7,8,9... 이 수들이 소수인지 판별해볼건데요 방..

    [백준-1011]Fly me to the centauri(C++)

    [백준-1011]Fly me to the centauri(C++)

    https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행�� www.acmicpc.net 출발지에서 도착지까지 이동하는데, 처음, 마지막 속도는 1이고 속도를 k-1,k,k+1로 설정하여 이동할 수 있습니다. 이 때 도착지까지 최소한으로 이동하는 횟수를 구하는 문제입니다. 예) 출발지 = 1, 도착지 = 5 1, 2, 1 이렇게 이동하면 최소한으로 이동한 것이 됩니다. 횟수는 3이므로 답은 3입니다. 처음에 문제 풀 때, 시간 초과가 계..