본문 바로가기
반응형

전체 글211

백준_15649번_N과 M (1)_자바 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 이번 문제는 백트래킹 문제입니다. 이번 백트래킹 문제는 백트래킹이 무엇인지 알고 있다면 특별한 주의사항은 없습니다. 전체 순환을 하며, 문제의 조건에 맞게 수가 중복되지 않도록 체크용 배열을 만들어서 풀면 되겠습니다. - 로직 import java.util.*; import java.io.*; public class Main { static int n; static int m; static bo.. 2024. 2. 1.
람다문이란? Java 8부터 람다 표현식이 도입되었으며, 이는 함수형 프로그래밍을 지원하는 중요한 기능 중 하나입니다. 람다 표현식은 익명 함수의 간결한 형태로, 주로 함수형 인터페이스(Functional Interface)의 인스턴스를 생성하기 위해 사용됩니다. 주요 특징 - 1. 간결성: 불필요한 부분들을 제거하고 코드를 간결한 형태의 함수로 정의할 수 있습니다. 예시- // 기존의 익명 클래스를 사용한 방식 Runnable runnable1 = new Runnable() { @Override public void run() { System.out.println("Hello, World!"); } }; // 람다 표현식을 사용한 방식 Runnable runnable2 = () -> System.out.printl.. 2024. 1. 27.
백준_1463번_1로 만들기_자바 백준_1463번_1로 만들기_자바 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 해당 문제는 다이나믹 프로그래밍이라고 불리는 DP문제입니다. 문제 해석 - X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 위의 3가지를 입력받은 수를 1로 만들때까지 반복하고, 가장 횟수가 낮은 경우의 수를 출력하면 되는 문제입니다. 주의사항 - 입력되는 N의 범위가 10의 6승까지 가능하므로, 메모제이션을 사용하지않으면 시간초과가 발생합니다. - 메모제이션이란 ? 미리 계산한 값을 특정 배열에 저장하여, 중복계산을 하지 .. 2024. 1. 23.
백준_1789번_수들의 합_자바 백준_1789번_수들의 합_자바 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 이번 문제의 로직은 단순한 그리디 알고리즘 문제이나, 함정이 조금 있습니다. 문제 해석 - "서로 다른 N개의 자연수의 합이 S일 때, 자연수 N의 최댓값은 얼마인가?" 이다. 최댓값을 구해야하기에 입력받은 숫자보다 큰 숫자가 될때까지 제일 낮은 수인 1부터 계속 더한후, 더 큰 숫자가 되었을때 초과한 만큼의 숫자만 빼주면된다. 예를들어 7을 입력하였을 경우 7 은 1+2+3+4 가 될때 7을 초과하게된다. 그때 총합인 숫자 10에서 -3만 해주면 7이 되므로, 총 숫자의 개수는 3.. 2024. 1. 22.
백준_11724번_연결 요소의 개수_자바 백준_11724번_연결 요소의 개수_자바 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 해당 문제는 그래프 문제이며, DFS와 BFS로 모두 풀이해보았습니다. 간선을 저장할 배열과 정점을 저장할 체크 배열을 만든후에 풀이 하시면 되며, 포인트는 양방향(방향이없는) 간선일때 양쪽 모두 저장해주는것입니다. ex ) arr[a][b] = arr[b][a] = 1; import java.. 2024. 1. 18.
DDos공격과 Dos공격의 종류와 차이점 DDos공격과 Dos공격의 종류와 차이점 - DDoS(분산 서비스 거부) 공격과 DoS(서비스 거부) 공격은 모두 네트워크 또는 시스템에 대한 공격 유형이지만, 주로 공격의 규모와 방식에서 차이가 있습니다. DoS 공격 DDoS 공격 공격 규모 단일 소스에서 한 시스템 또는 네트워크 리소스에 대한 공격으로, 주로 대역폭 공격(Bandwidth Flooding)이나 연결 수 초과와 같은 방식을 사용합니다. 여러 소스에서 동시에 공격을 수행하는 것으로, 분산된 방식으로 여러 유저, 시스템 또는 기기를 이용하여 대규모의 트래픽을 목표 시스템에 전송합니다. 공격 방식 단일 소스에서 목표 리소스에 직접적으로 대량의 트래픽을 생성하거나특정 프로토콜 또는 서비스에 대한 공격을 시도합니다. 여러 소스에서 각각 작은 규.. 2024. 1. 17.
반응형

loading