분류 전체보기

    [백준 4485] 녹색 옷 입은 애가 젤다지?_다익스트라(c++)

    [문제] https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 문제 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈�� www.acmicpc.net [접근법] 다익스트라인지 몰랐지만 다익스트라로 풀었다! [문제풀이] 다익스트라는 하나의 정점에서 다른 모든 정점들의 최단경로를 구하는 알고리즘이라고 한다. 첫 정점을 기준으로 연결되어 있는 정점들을 추가해가며 최단거리를 갱신해야 한다고 한다. bool 배열로 방문체크를 해주지 않아도 dist배열만으로 탐색을 한다. dist배열을 큰 값으로 초기화해두고 이동을하면서 a..

    [백준 2146] 다리만들기_bfs(c++)

    [문제] https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net [문제를 보자마자 든 생각] 보자마자 일단 bfs로 단지나누기를 해야겠다고 생각했다. 단지를 나눈 다음, 한 단지에서 이동하다가 다른단지를 만날때까지의 거리를 구한다음 그 거리의 최솟값을 구하면 될것이라고 생각했다. [문제풀이] 이중for문 돌면서 육지라면 좌표를 bfs(int x, int y)에 전달. bfs() 에서 너비탐색하면서 바다이면 true, 육지이면 false를 반환하게 함 ==>..

    [백준 2096] 내려가기_dp(c++)

    [문제] https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net [접근법] BFS랑 DP를 섞어서 접근할 생각으로 풀었다.. 풀다보니 메모리제한이 4MB인걸 보고 절망.. DP만으로 풀어야 한다는것을 깨달음..(친구의 도움을 받았다ㅠㅠ) [문제풀이] 구하고자 하는 값이 최대값과 최소값이므로, 2차원배열로 만들었다. (배열을 n x 3으로 나면 메모리 초과가 난다그래서 1x3 크기의배열을 만들어서 계속 갱신하는 식으로 풀었다.) dp1의 min, max값을 가지고 d..

    [6/12] 오라클의 개념과 조건 검색★

    오라클은 데이터베이스를 여러개를 만드는 것이아니라, 하나의 데이터베이스만 만들고 사용자마다 사용자 스키마가 따로 있음(그래서 그 사용자만 접근이 가능함) 사용자를 만들고 사용자계정을 만들어야함 현재 접속 사용자의 스키마에 존재하는 테이블 목록 확인 SELECT TABLE_NAME FROM TABS; 테이블의 구조를 확인 DESC 테이블명; VARCHAR같은 자료형은 가변형이기때문에 정해진 크기 이하만큼만 사용하면됨 [SELECT] 하나이상의 테이블에서 행을 검색하기 위한 행렬 SELECT 검색대상, 검색대상...FROM 테이블명,테이블명... ------------------------------------------------------ SELECT EMPNO,ENAME,SAL,DEPTNO FROM E..

    [6/11] 소켓통신을 이용한 채팅프로그램 만들어보기

    [소켓통신을 이용하여 서버와 클라이언트 메세지 주고받기] 1) 서버 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 31 32 33 34 35 36 37 package site.itwill.net; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; //클라이언트에서 보내온 메세지를 전달받아 출력하는 서버프로그램 public class EchoServerApp { public static void ma..