no image
C++ [Algorithm] - 백준 13458 시험 감독
문제 시험장마다 사람의 수를 갖고 먼저 총 감독관의 값을 뺀 후 count++그 후 부감독/C를 한 후 반올림을 진행한다.why? 부감독이 감시할 수 있는 사람이 5명이여도 남은 학생 수가 4명이면 1명은 더 필요하기 때문에코드#include #include #include using namespace std;int main() { int A, B, C; long long answer = 0; cin >> A; vector room(A); for (int i = 0; i > room[i]; } cin >> B >> C; for (int i = 0; i 0) { answer += ceil((double)num / C); } } cout  간단한 구현 문제였지만 결과값에 대한 자료형 선언이 함..
2024.07.29
no image
C++ [Algorithm] - 백준 1012 유기농 배추
문제 간단하게 설명하자면 상하좌우 네 방향에 다른 배추가 위치한 경우 서로 인접하다. 즉 1덩어리로 본다.위 그림을 보면 총 5덩어리다. 코드#include #include using namespace std;int testCase, M, N, K;int x, y;int answer = 0;int dx[4] = { -1, 0, 1, 0 };int dy[4] = { 0, 1, 0 ,-1 };bool visited[50][50];int map[50][50];void dfs(int x, int y) { visited[x][y] = true; for (int i = 0; i = 0 && ny >= 0 && nx > testCase; for (int i = 0; i > M >> N >> K; answer = 0..
2024.07.29
no image
C++ [Algorithm] - 백준 10773 제로
문제 0을 외치면 스택에서 pop을 해준 후 모든 수를 받아 적으면 스택의 합을 구하면 된다.예제 입출력 코드#include #include using namespace std;stack myStack;void solution(int n) { if (n != 0) { myStack.push(n); } else { if (!myStack.empty()) { myStack.pop(); } }}int sum() { int answer = 0; while (!myStack.empty()) { answer += myStack.top(); myStack.pop(); } return answer;}int main() { int N; cin >> N; while (N--) { int order; cin..
2024.07.29
no image
C++ [Algorithm] - 백준 28278 스택2
문제 예제 입출력 코드#include #include using namespace std;stack myStack;void solution(int n) { switch (n) { case 1: int num; scanf("%d", &num); myStack.push(num); break; case 2: if (!myStack.empty()) { printf("%d\n", myStack.top()); myStack.pop(); } else { printf("-1\n"); } break; case 3: p..
2024.07.29
no image
자바 [Algorithm] 투포인터 - 백준 11728 배열 합치기
1. 문제 2. 접근법이 문제는 정렬로 간단하게 풀 수 있다.int[] arr = new int[N+M]으로 선언하고 arr배열에 A의 배열과 B 배열의 값을 넣고Arrays.sort를 사용하면 쉽게 풀리지만 투포인터를 공부해야 하기 때문에 투포인터로 푼다. 1. A의 배열의 포인터와 B의 배열의 포인터를 선언2. A의 값과 B의 값을 비교하여 오름차순으로 result 배열에 넣는다.3. 예제 2번처럼 둘의 배열의 크기가 같지 않아 어느 배열의 뒷 값들이 남을 수 있기에 이를 처리한다. 3. 코드package week10;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.u..
2024.06.09
no image
자바 [Algorithm] 투포인터 - 백준 2018 수들의 합 5
1. 문제 2. 접근법투포인터 문제로 start와 end 변수를 선언하고sum과 count를 1로 설정한다. 그 이유는 15일때 1가지가 있으므로 1로 설정 1. sum == N일때end++, sum+=end, count++ 2. sum > N 일때sum -= start, start++ 3. sum end++, sum+= end  3. 코드package week10;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Baek2018 { public static void main(String[] args) throws IOException { Buffered..
2024.06.09
no image
자바 [Algorithm] 이분탐색 - 백준 20444 색종이와 가위
1. 문제   2. 접근법색종이를 N번 잘랐을 때, K개의 색종이를 만들어 낼 수 있는가? 가로로 X번, 세로로 Y번을 자르면 (X+1) * (Y+1) 개의 색종이가 생기게 된다. 가로로 색종이를 자를 횟수를 X라고 하면 세로로 색종이를 자를 횟수는 N-X가 된다. 즉 (X+1) * (N-X+1) = K를 만족하는 X값을 찾는다. 이분탐색을 진행하기 위해 mid = x y = N-x  3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Baek20444 { public sta..
2024.06.06
no image
자바 [Algorithm] 이분탐색 - 백준 11687 팩토리얼 0의 개수
1. 문제  2. 접근법0이 만들어지는 조건은 2*5가 존재할 때 0이 만들어진다.2는 2의 배수마다 생성되므로 5의 개수보다 항상 많아 5의 개수에 따라 0의 개수가 정해진다.5! = 120 - 2^3 * 3 * 5 : 1개10! = 3628800 = 2^8 * 3^4 * 5^2 * 7 : 2개소인수분해로 5의 개수를 구하면 된다 3. 코드package week09;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Baek11687 { public static void main(String[] args) throws IOException { Buffer..
2024.06.05