본문 바로가기

Algorithm/Problem31

아기 상어(BJ_G3_16236) 1. 문제 링크 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 2. 나의 코드 메모리: 26748kb 시간: 352ms 코드 길이: 2714B 시간 복잡도 : O(N^4) // BFS의 최악의 경우는 노드 수의 제곱 설명: BFS를 사용해서 모든 곳을 방문한다. 만약 상어가 먹을 수 있는 곳이라면 리스트에 추가한다. 모든 곳의 방문이 끝났으면 리스트를 정렬해서 첫 번째 자리의 값을 0으로 바꾸고 먹어 치운다. import java.ut.. 2024. 2. 21.
암호 만들기(BJ_G5_1759) 1. 문제 링크 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 2. 나의 코드 메모리: 14712kb 시간: 136ms 코드 길이: 1402B 설명: 순열을 사용해서 모든 경우의 수를 구한다. 시간복잡도 : O(N!) 하지만 만약 그 전의 알파벳과 비교해 정렬이 되지 않은 문자가 있으면 백트래킹을 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt.. 2024. 2. 21.
제목(사이트_난이도_문제번호) 1. 문제 링크 2. 나의 코드 메모리: kb 시간: ms 코드 길이: B 시간 복잡도 : 설명: /* 코드 넣는 곳 */ 3. 정답 코드 /* 정답 코드1 */ /* 정답 코드2 */ 4. 배운 점 2024. 2. 21.