자바

    [백준]2606번 바이러스 - Java

    [백준]2606번 바이러스 - Java

    문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 풀이 뭐 여러가지 방법을 풀 수 있겠지만 인접 행렬로 풀면 쓸데없는 메모리 활용이 좀 있을 것 같다. 그래서 ArrayList를 활용한 인접 리스트로 풀었음. 방문 체크 배열을 이용해서 이미 방문한 곳은 체크를 하고 인접한 애들 중 방문하지 않은 애들인 경우에만 answer++하고 dfs를 한번 더 탔음! 밑에 코드 참고! 코드 // 2606번 바이러스 // https://www.acmicpc.n..

    [백준]3190번 뱀 - Java

    [백준]3190번 뱀 - Java

    문제 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 풀이 시뮬레이션 문제이다. 뱀을 큐로 생각했고, 다음 칸의 좌표를 뱀 큐에 넣어주고 그 칸이 사과면 큐의 길이를 줄이지 않고(poll()하지 않고) 사과가 아니면 큐의 길이를 줄였음(poll()했음). 그리고 방향 전환은 4방향을 시계방향으로 해줬음(시계 반대 방향이여도 상관 없음). 4방 탐색이므로 +를 해서 4가 넘어가면 %4 연산을 통해서 방향이 돌고 돌 수 있게 해줌 이것들만 생각하면 잘 풀..

    [SWExpertAcademy]구르는 돼지의 버섯 찾기 - Java

    문제 걍 쉬운 문제임 풀어보셈 돼지는 매우 뛰어난 후각을 지녔다. 프랑스 요리에서 최고의 재료로 치는 송로버섯을 찾는 일에 돼지가 이용된다. 땅속의 다이아몬드라는 별명에서도 알 수 있듯이 송로버섯은 땅속에서만 자란다. 돼지는 뛰어난 후각으로 이 송로버섯을 기가 막히게 찾아낸다. 너무 살이 쪄서 굴러다니는 돼지는 평지 또는 오르막길을 올라갈 수는 없지만 내리막길은 누구보다 빠르게 이동이 가능하다. 송로버섯을 좋아하는 은서아빠는 이 귀여운 구르는 돼지를 이용해 송로버섯을 찾고자 한다. 산의 지형은 아래와 같이 표현되고,(입력 예시 참고) 이 산에서 가장 왼쪽 위 칸에서 출발해 가장 오른쪽 아래 칸으로 도착하는 방법은 예시에서는 세가지가 있음! 더 많은 송로버섯을 채취하기 위해서는 더 많은 경로로 산을 탐색해..

    [SWExpertAcademy]토끼 경주 - Java

    문제 걍 쉬운 문제임 풀어보셈 토끼는 앞다리에 비해 뒷다리가 길고 튼튼하다. 뒷다리가 길어 높이 뛰어오를 수 있으며 오르막도 곧잘 오르지만 내리막은 잘 달리지 못한다. A는 머리를 식힐겸 5마리의 토끼가 경주를 벌이는 토끼 경주장을 방문했다. A는 5마리의 토끼 중 얼마나 많은 토끼가 경주장을 완주할 수 있는지 알아보려고 한다. 경주장은 오르막길과 내리막길이 있으며, 각 지점마다 높이가 정해진다. 경주장의 각 지점의 높이 Hi 는 0보다 크거나 같고 100보다 작거나 같다. 경주장의 길이는 10이며 아래는 경주장 샘플이다. 0 20 50 70 50 60 40 50 30 0 이 샘플 경주장에서 1번째 지점에서 2번째 지점으로의 오르막은 20미터, 2번째 지점에서 3번째 지점으로의 오르막은 30미터, 그리고..

    [백준]14719번 빗물 - Java

    [백준]14719번 빗물 - Java

    문제 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 풀이 어떻게 풀지 생각하는데 약간 시간이 걸렸다 제일 왼쪽이랑 오른쪽 블록을 제외한 그 사이에 있는 블록들 머리 위에만 빗물이 쌓일 수 있기 때문에, 그 점을 생각하면 쉽게 풀림! 자세한 설명은 주석을 달아놨으니 참고하셈! 코드 // 14719번 빗물 // https://www.acmicpc.net/problem/14719 package BAEKJOON; import jav..

    [백준]9250번 맥주 마시면서 걸어가기 - Java

    [백준]9250번 맥주 마시면서 걸어가기 - Java

    문제 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 풀이 플로이드 와샬 문제이다! 최근에 배웠음. 처음 설명을 들을 때는 되게 쉽네~ 라고 생각했지만 막상 문제를 풀어보니까 잘 모르겠더라 ㅎㅎㅎ 다익스트라가 한 정점에서 모든 정점으로의 최소 비용 거리를 구하는 알고리즘이라면, 플로이드 와샬은 모든 정점에서 모든 정점으로의 최소 비용 거리를 알 수 있음!! 다만 3중 for문을 돌기 때문에 크기가 크면 터질 수도 있으니까 조심하자!!! 경..

    [SWExpertAcademy]5515번 2016년 요일 맞추기 - Java

    [SWExpertAcademy]5515번 2016년 요일 맞추기 - Java

    문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWWOwecaFrIDFAV4 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 7의 배수하면 꼭 나오는 문제! 쉬운 문제이니까 걍 보면 될 듯함! 코드 // 5515 - 2016년 요일 맞추기 package d3; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Nu..

    [백준]2960번 에라토스테네스의 체 - Java

    [백준]2960번 에라토스테네스의 체 - Java

    문제 https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 풀이 수학에서 에라토스테네스의 체는 소수를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 이 사진처럼 체에 거르듯이 거르는 것이다! 코드 // 2960번 에라토스테네스의 체 // https://www.acmicpc.net/problem/2960 package BAEKJOON; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java...