일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 정수론
- 그래프 이론
- 백준
- springboot
- JPA
- 백트래킹
- 자료 구조
- 그래프 탐색
- MYSQL
- 알고리즘
- 스택
- 너비 우선 탐색
- 문자열
- 수학
- 배포
- Vue
- 재귀
- n과 m
- 프로그래머스
- 정보처리기사
- 소수 판정
- Spring Security
- 구현
- 다이나믹 프로그래밍
- 깊이 우선 탐색
- 프로젝트
- dfs
- 브루트포스 알고리즘
- DB
- SWEA
- Today
- Total
목록브루트포스 알고리즘 (11)
영원히 남는 기록, 재밌게 쓰자

문제풀이펠린드롬인지 확인할 때에는 원래 문자열(str)에 더한 문자열(addedStr)을 뒤집어 합친 문자열을 검사펠린드롬이 아니면 제일 앞의 문자를 더해나감.펠린드롬이 경우 원래 문자열(str) 길이 + 더 해준 문자열 길이(addedStr)가 가장 짧은 펠린드롬의 길이 정답코드package com.baekjoon.p1254;import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int idx = 0; StringBuffer str = new StringBuffer(); StringBuffer a..

문제풀이체력이 남아있는 범위에서 인사를 하여 최대로 기쁨을 얻을 수 있는 모든 조합을 찾아야 한다.배낭문제 알고리즘 풀이 중 DP를 사용하여 풀이 체력이 남아서 인사를 할 수 있으면 인사를 했을 때 얻을 수 있는 기쁨과 인사를 하지 않았을 때 기쁨 중 더 큰 값으로 갱신하며 진행체력이 0이 되거나 음수가 되어서 인사를 할 수 없는 경우 인사를 하지 않았을 때 기쁨으로 갱신 정답코드package com.baekjoon.p1535;import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..

문제풀이아기 상어가 있지 않은 모든 칸으로 부터 아기 상어까지 안전 거리를 구한다.방향 배열 대각선 포함 8 방향을 bfs 탐색하며 진행제일 먼저 아기 상어를 만나는 거리가 안전거리이므로 아기상어를 만나면 탐색 종료안전 거리 최대 값 갱신정답코드package com.baekjoon.p17086;import java.io.*;import java.util.*;public class Main { static int N, M, max; static int[][] map; static int[] dr = { 1, 1, 0, -1, -1, -1, 0, 1 }; static int[] dc = { 0, -1, -1, -1, 0, 1, 1, 1 }; public static void mai..

문제입력첫째 줄에 사람의 수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 각 사람이 친구이면 Y, 아니면 N이 주어진다. 출력첫째 줄에 가장 유명한 사람의 2-친구의 수를 출력한다.풀이2-친구 수를 카운트하는 기준은나 자신과 바로 친구인 관계이면 카운트A-C-B 한 친구(C)까지 관계로 이루어질 수 있는 관계인 경우 카운트 각 노드의 2-친구 수를 계산하기 위해 모든 노드를 탐색해야한다.각 노드 당 두 다리 이상 건너서 알게되는 친구 카운트를 막기 위해서 depth 변수를 사용해서 두 다리 이상 친구관계를 확인하지 못하도록 설정각 노드의 친구의 친구 (한 다리 건너서 친구)인 관계를 확인하고 친구관계를 확인한 친구가 아니면 큐에 삽입 & 2-친구 수 카운트각 노드의 2..