전체 글

지식에 정성을 들이는 습관을 갖자 대충 절대 금지
알고리즘/백준

[너비우선탐색] 백준 5427번 불 - JAVA

BFS DFS가 좀 익숙해졌으니 언젠가 태영이 오빠가 추천해준 '불'이라는 문제를 풀어보겠다. 불! 이라는 문제도 있는 거 같은데, 이 문제가 더 까다로운 모양이다. 1. 문제출처 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net 갖은 고난을 맞이하여 겨우 풀어 낸 문제 ... Let's GO! 2. 설계 1) 실패한 설계 그렇다... 처음에는 각각 깊이를 파고들어 1 경로씩 탐색하고자 DFS로 접근했었다... 근데 문제가 있었으니... 바로 배열을 주고 받을 때 같은 시간 대 별로 같은 배열을 공유하지 못한다는 점이다. ..

알고리즘/백준

[깊이/너비우선탐색] 백준 1260번 DFS와 BFS - JAVA

아직도 DFS / BFS 헷갈리는 나 주말을 맞이하여 기초문제를 풀고 왔다! 1. 문제출처 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 2. 설계 1) DFS DFS는 시스템 스택을 쌓아가며 깊이 우선으로 노드를 방문해 출력하는 형식이다. 위 링크의 1번 예제를 함께보자 4 5 1 1 2 1 3 1 4 2 4 3 4 만약 1번부터 시작한다면 1번 인접 노드는 2,3,4이고, 이 중 작은 것 먼저 선택을 한다. 다음은 2번노드가 시작되고, 2번 인접 노드는 1,4인데, ..

알고리즘/백준

[깊이우선탐색] 백준 2668번 숫자고르기 - JAVA

오늘은 나의 실패썰과 다른 분의 좋은 코드를 보며 공부한 나의 일기라고 할 수 있다. 나는 처음에 부분집합으로 해당 문제를 풀다가 '메모리 초과'가 떴었다. 그래서 내가 아직 풀기에는 어려운 문제라고 판단하여 다른 분의 코드를 보았다. 내가 참고한 블로그는 아래와 같다. [백준-2668]-[DFS]-숫자고르기 문제링크 : https://www.acmicpc.net/problem/2668 이 문제는 사이클이 발생할 때 까지 DFS로 탐색을 진행하면 된다. 만약 사이클이 발생하지 않는다면 visited 정보를 초기화 해주고 사이클이 발생했다면 방 pangsblog.tistory.com 1. 문제출처 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1..

알고리즘/SWEA

[부분집합] SWEA 5215번 햄버거 다이어트 - JAVA

1. 문제 출처 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 설계 다이어트를 위해 제한 칼로리 이하의 재료를 조합해 가장 높은 맛 점수를 가진 햄버거를 만드는 것이 목표이다. 그래서 1번 재료, 2번 재료, 3번 재료 등 다양한 재료를 가지고 어떤 재료를 선택하고, 어떤 재료를 선택안할 것인지를 고려해 햄버거를 만드는 것이 포인트이다. 우선 햄버거의 재료는 다음과 같이 정해진다. 1) 같은 재료를 2번 넣을 수는 없다. 2) 1번 재료 + 2번 재료 + 3번 재료 = 3번 재료 + 1번 재료+ 2번 재료의 조합은 같은 것이므로 순서는 중요하지 않다. 때문에 이 문제는 POWER SET, 즉 부분 집합으..

알고리즘/백준

[너비우선탐색] 백준 10026번 적록색약 - JAVA

1. 문제 출처 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 2. 설계 [입력 예시] 5 RRRBB GGBBB BBBRR BBRRR RRRRR 첫 값은 배열의 크기이다. 다음줄부터는 빨강(R) 파랑(B) 녹색(G) 정보가 어떻게 되어있는지를 받는다. 일반인은 정확하게 3가지 색을 구분할 수 있지만, 적록색약인은 빨강, 녹색을 같은 색으로 본다. 나는 다음과 같은 루트로 문제를 풀었다. 1) 영역을 확인했는지 체크하기 위해 visited 배열을 만든다. 2) 메인 함수에서 2중 for문으로 입력예시의 ..

알고리즘/이론

SWEA 미로 1 문제를 통해 알아보는 DFS / BFS

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com DFS /** * DFS는 4방 탐색 후 갈 수 있는 곳으로 재귀를 불러 시스템 스택을 쌓는다. * */ public static void DFS(int startR, int startC) { //상 하 좌 우 int[][] drc = {{-1,0},{1,0},{0,-1},{0,1}}; for(int direc=0;direc

BE/MySQL

[MYSQL] JAVA - eclipse 연동법

이클립스 -> JAVA EE -> Dynamic Project 생성 -> Java Resources -> Src -> DBUtil 클래스 생 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { private String url = "jdbc:mysql://localhost:3306/데이터베이스명?serverTimezone=UTC"; private String username = "mysql 설정 유저명"; private String password =..

BE/MySQL

[MySQL] DCL(Data Control Language) 데이터 제어어 명령어 모음

1. 유저 생성/삭제 1) 계정 확인하기 USE mysql; select host, user, password from user; 2) 유저 만들기 CREATE USER '유저이름'@'접속장소(IP)' IDENTIFIED BY '비밀번호'; CREATE USER 'tksgk2598'@'localhost' IDENTIFIED BY '1234'; tksgk2598이라는 유저를 만들어주세요. CREATE USER tksgk2598; 간단하게는 접속장소, 비밀번호를 생략해서 만들 수도 있습니다. 3) 새로 생성한 유저로 데이터베이스 들어가기 mysql -u tksgk2598 -p 새로 생성된 유저는 어떠한 권한도 없기 때문에 아무런 데이터베이스에도 접근할 수 없습니다. 4) 외부 접근 권한 부여하며 유저 생성하..

SHIN SANHA
산하는 코딩중