Algorithm/BAEKJOON

    [백준] 10828번 : 스택 [Java - 자바]

    [백준] 10828번 : 스택 [Java - 자바]

    알고리즘 및 자료구조를 공부하면서 복습을 위해 문제를 풀고 있습니다. https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net Stack을 학습 후 스스로 구현할 수 있을까라는 생각에 풀어본 백준 문제 시간 제한이라는 조건을 신경쓰면서 문제 해결 Stack을 구현한 클래스와 실행을 담당할 클래스로 나눠서 문제를 풀었다. Stack 구현 : Stack 예외 처리를 할까 고민했지만.. 별다른 요구사항이 안 보여서 예외처리는 따로 작성 안 ..

    [백준] 3273 두 수의 합 - Java

    [백준] 3273 두 수의 합 - Java

    문제 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 문제 풀이 문제 분류에서도 정렬과 두 포인터로 분리되어 있고, 문제를 들어가면서도 투 포인터를 써보라고 하여 투 포인터를 이용하여 문제를 풀어보려 한다. 문제의 조건은 백준에서의 예제로 한다. 9 5 12 7 10 9 1 2 3 11 13 투 포인터를 사용하기 위해선 일단 배열을 정렬된 상태로 만들어줘야 한다. 그림과 비교하며 보기에는 ..

    [백준] 2559 수열

    [백준] 2559 수열

    https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net 문제 매일 아침 9시에 학교에서 측정한 온도가 어떤 정수의 수열로 주어졌을 때, 연속적인 며칠 동안의 온도의 합이 가장 큰 값을 알아보고자 한다. 예를 들어, 아래와 같이 10일 간의 온도가 주어졌을 때, 3 -2 -4 -9 0 3 7 13 8 -3 모든 연속적인 이틀간의 온도의 합은 아래와 같다. 이때, 온도의 합이 가장 큰 값은 21이다. 또 다른 예로 위와 같은 온도가 주어졌을 ..

    [백준] 11659 구간 합 구하기 4 - Java

    [백준] 11659 구간 합 구하기 4 - Java

    문제 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 시간제한 : 1초 (100,000,000) 요구 : 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합 수의 개수(N) : 100,000 합을 구해야 하는 횟수(M) : 100,000 질의마다 문제를 풀었을 때 시간제한에 걸리기 때문에 배열의 누적 합을 이용해 미리 배열을 만들어 놓고 구간합을 구하는 방향으로 잡았다. 문제 풀이 수의 개수(N) : 5 합을 구해야..

    [백준] 11660 구간 합 구하기 5 - Java

    [백준] 11660 구간 합 구하기 5 - Java

    문제 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 시간 제한 : 1초 (100,000,000) 표의 크기(N) : 1024 합을 구해야 하는 횟수(M) : 100,000 (x, y) : x 는 행, y는 열을 의미한다. 질의마다 문제를 풀었을 때 시간 제한에 걸리기 때문에 배열의 누적 합을 이용해 미리 배열을 만들어 놓고 문제를 푸는 방향으로 잡았다. 문제 풀이 문제에서 요구하는 정답은 (x1, y..