Algorithm(127)
-
[알고리즘] 11723. 집합
0. 문제 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 1. 문제 이해 메모리 제한 448MB. (java8 기준) 주어지는 x의 크기가 1 ≤ x ≤ 20라서 int 32비트로 부분집합을 충분히 표현할 수 있다. 비트 연산으로 풀기. 2. 제출 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ11723 { static int S = 0;..
2024.02.03 -
[알고리즘] 2023. 신기한 소수
0. 문제 2023번: 신기한 소수 수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수 www.acmicpc.net 1. 시간초과 import java.io.BufferedReader; import java.io.InputStreamReader; //시간 초과 public class BOJ2023 { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuffer ..
2024.02.03 -
[Java] Stack, Queue, Priority Queue
1. Stack import java.util.Stack; Stack stack = new Stack(); push() : 삽입 pop() : 삭제 peek() : 조회 isEmpty() : 비었? size() : 크기 Stack underflow와 overflow를 조심하자. 2. Queue import java.util.Queue; Queue queue = new ArrayDeque(); // //또는 Queue queue = new LinkedList(); Java의 java.util.Queue는 interface다. 구현체로는 대표적으로 ArrayDeque 또는 LinkedList를 사용한다. 대부분의 상황에선 LinkedList보다는 ArrayDeque를 사용하자. ArrayDeque 양쪽 끝에..
2024.02.03 -
[Java] 부분집합
종류 설명 기호 시간 복잡도 순열 N개의 원소 중 R개의 원소로 순서를 가진 부분집합을 만드는 경우의 수 nPr O(N!) 조합 N개의 원소 중 R개의 원소로 부분집합을 만드는 경우의 수 nCr O(n! /( r! x (n-r)!)) 부분집합 N개의 원소로 부분집합을 만드는 모든 경우의 수 nHr O(2^N) 집합에 포함된 원소들을 선택하는 것. 멱집합 (Power set) 주어진 집합의 모든 부분 집합들로 구성된 집합 원소들의 그룹에서 최적의 부분 집합을 찾는 문제가 많다. [알고리즘] 5215. 햄버거 다이어트 0. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 민기가 좋아하는 햄버거를 먹으면서도 다..
2024.02.03 -
[알고리즘] 풀었던 문제 (240202)
1. 23300. 웹브라우저 2 Stack 23300번: 웹 브라우저 2 첫째 줄에 접속할 수 있는 웹페이지의 종류의 수 N, 사용자가 수행하는 작업의 개수 Q 가 각각 주어진다.(1 ≤ N, Q ≤ 2,000) 둘째 줄부터는 Q개의 작업이 주어지며, 각 작업이 의미하는 바는 다음 www.acmicpc.net 2. 2164. 카드 2 Queue 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 3. 5432번. 쇠막대기 자르기 Stack SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 ..
2024.02.03 -
[알고리즘] 풀었던 문제 (240201)
1. 6808. 규영이와 인영이의 카드게임 순열 재귀함수 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 2961. 도영이가 만든 맛있는 음식 조합 재귀함수 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 3. 2001. 파리퇴치 배열 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com
2024.02.03 -
[알고리즘] 15686. 치킨 배달
0. 문제 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 1. 문제 이해 최악의 경우 : 가정집(2 * 50), 치킨집(13 Combination 7 = 13! /(6! * 7!) = 1716) → 171,600 연산 171,600 연산은 아주 여유롭다. (1억 번 연산을 1초라고 가정) 완전탐색으로 푼다. 2. 제출 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; imp..
2024.01.31 -
[알고리즘] 1244. 스위치 켜고 끄기
0. 문제 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 1. 문제 이해 2. 제출 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static char[] switches; public static int swi, stu; public static void main(String..
2024.01.31