전체 글 104

[JAVA] 백준 14890번 : 경사로 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 문제 Simulation 문제이다. Queue를 사용하여 구현하다가 올라가는 경사에서 막혀서 다른사람 풀이를 참고하였다. 해결 방안 주어진 조건에 맞도록 구현하는 Simulation 문제이다. 1. 각 행과 열마다 지나길 수 있는 길인지 체크해서 갯수를 세준다. 2. 해당 행과 열을 1차원 배열로 만들어서 체크하기 쉽게 만든다. (checkPath()함수) 조건이 맞지 않는 경우 false를 리턴해준다. 코드 impor..

[JAVA] 백준 14889번 : 스타트와 링크 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 문제 DFS + 구현 으로 문제를 해결하였다. 해결 방안 전체적으로 보면 1. 스타트 팀과 링크 팀 반으로 사람을 나누는 모든 경우의 수와 2. 나눠진 팀의 점수 차이를 구하는 두가지를 구현해야한다. 1. 스타트 팀과 링크 팀 반으로 사람을 나누는 모든 경우의 수는 DFS 탐색을 이용하여 구현하였다. 기저사례가 N/2 일 때까지 DFS 탐색을 하며 N/2 개의 visited를 true로 만들어준다. caculateDi..

[JAVA] 백준 14888번 : 연산자 끼워넣기 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, �� www.acmicpc.net 문제 브루트포스 문제 인데 DFS 탐색을 이용하여 문제를 해결하였다. 해결 방안 숫자의 위치는 고정이고 연산자 우선순위도 무시하므로 숫자간 모든 경우의 연산자를 넣어 각각의 sum값들을 비교하여 최대 최소값을 구하는 문제이다. 덧셈, 뺄셈, 곱셈, 나눗셈의 갯수의 합이 N-1 개이므로 각각의 갯수들을 고려하여 DFS 탐색을 해주면된다. ..

[JAVA] 백준 14503번 : 로봇 청소기 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제 DFS 문제라고 생각하고 풀었는데 stackoverflow가 자꾸 떠서 다른 사람 풀이 참고하여 풀었다. (알고보니 구현 문제) 해결 방안 문제에서의 로봇 청소기 작동 방법에 맞춰서 구현해주면 된다. while 두개를 이용하여 구현하였으며 코드를 보면 1, 2 조건에 따른 코드를 구현하였다. 코드 import java.io.BufferedReader; import java.io.IOExce..

[JAVA] 백준 14502번 : 연구소 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net 문제 벽 3개 세우는 경우를 완전 탐색하고 벽이 3개 세워진 경우에 바이러스를 퍼트려서 최대 안전 구역 크기를 구해주는 문제이다. 생각보다 쉽게 풀려서 놀랐다. DFS + BFS 문제 해결 방안 1. 메인에서 지도값 입력받을 때 바이러스의 좌표를 저장할 수 있는 자료구조(여기서는 ArrayList 사용함)를 사용해준다. (나중에 BFS 탐색에서 Queue에 넣어줄 값) 2. DFS 탐색을 이용하여 벽이 3개..

[JAVA] 백준 14501번 : 퇴사 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14501 문제 나는 DFS로 풀었다. 풀고나서 다른 사람들의 풀이를 보니 DP를 이용하여 푼 것을 확인하였다. 다음 복습에는 꼭 DP로 풀어봐야겠다. 해결 방안 1부터 N일 까지 상담이 가능하며 하루에 1개씩만 상담이 가능하다. 이 부분에서 걸리는 시간 비교를 통한 DFS를 이용하면 구할 수 있을 것이라고 생각하였다. 1. DFS 탐색 시작 부분에서 반복문을 이용해서 1~N일까지 DFS 탐색을 하는데 i + T[i] 가 N+1이 넘어가는 순간은 제외하고 진행하였다. (문제에서 퇴직날까지 상담이 가능하다고 하였므르로) 2. 그리고 DFS 탐색 부분에서 기저 사례는 dfs 함수에서 보내준 index 값과 T[index]의 합이 N+1이 넘어가는 순간..

[JAVA] 백준 12100번 : 2048 (Easy) (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 문제 쉬운듯 안쉬운듯... 처음 풀기엔 어려웠다... 다른사람의 풀이를 많이 참고함 해결 방안 최대 5번 이동시켜서 얻을 수 있는 가장 큰 블록값을 구하는 문제로써 5의 깊이를 가지는 DFS를 이용하여 문제를 풀어야겠다고 생각하였다. 1-1. 일단 기저사례에 도달하였을 때 해당 board의 가장 큰 값을 구하고 그 값과 지금까지 깊이가 5가 됬을 때 board의 가장 ..

[JAVA] 백준 3190번 : 뱀 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/3190 3190번: 뱀 문제 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. www.acmicpc.net 문제 해결 방안 문제 전체 다 꼼꼼히 읽어봐야하는 Simulation(구현) 문제이다. 먼저 크게 1. 전체 입력 받는 부분 2. 게임 돌아가는 부분 두 가지로 나누어서 생각을 해봤다. 1. 전체 입력 받는 부분 1-1 보드의 크기 사과의 위치가 행, 열 그대로 주어져서 N+1 x N+1로 설정하였다. 1-2 사과의 위치 보드 위치 위에 사과가 있는 경우 1을 저장해주었다. (board[row][col]..

[JAVA] 백준 14500번 : 테트로미노 (삼성 SW 역량 테스트 기출 문제)

https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net 문제 N x M 종이 위에 5가지 도형 중 1가지를 놓아서 해당 도형이 놓인 칸에 있는 수들의 최대 값을 출력하는 문제이다. 해결 방안 1. ㅜ 모양으로 생긴 도형 외 4가지는 dfs를 이용하여 구할 수 있다. - 위와 같이 ㅜ 모양을 제외한 4가지 도형의 각각의 모든 경우(회전, 대칭 포함)은 depth가 4인 DFS 탐색 모양이다. - depth가 4일때 최댓값을 구해준다. 2. ㅜ 모양으로..

Windows에 MySQL 설치하기

Windows에서 MySQL 설치 1. MySQL 설치 프로그램 다운로드 하기 1.1) mysql 다운로드 URL 접속 https://www.mysql.com/downloads/ MySQL :: MySQL Downloads Contact MySQL | Login | Register The world's most popular open source database MySQL.com Downloads Documentation Developer Zone MySQL Enterprise Edition includes the most comprehensive set of advanced features and management tools for MySQL. MySQL www.mysql.com 1.2) 페이지 밑에..