Java

    [백준]11559번 Puyo Puyo - Java

    [백준]11559번 Puyo Puyo - Java

    문제 https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 총 12개의 줄에 필드의 정보가 주어지며, 각 줄에는 6개의 문자가 있다. 이때 .은 빈공간이고 .이 아닌것은 각각의 색깔의 뿌요를 나타낸다. R은 빨강, G는 초록, B는 파랑, P는 보라, Y는 노랑이다. www.acmicpc.net 풀이 처음에 어떻게 풀지 설계를 안하고 풀다보니까 중간에 한번 엎었다... 문제 좀 똑바로 읽고 풀자 쫌...!!!!! 쭈욱 돌면서 뿌요가 있으면 같은 색의 뿌요가 4개 이상 인접해있는지 dfs()로 판단하다가 4개가 넘어가면 그 위치에서 다시 dfsBomb()를 돌려서 연결되어 있는 뿌요를 다 없앰! 그리고 다른 색의 뿌요도 4개 이상이 인접해 있는 경우가 있으니까..

    [백준]14891번 톱니바퀴 - Java

    [백준]14891번 톱니바퀴 - Java

    문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 풀이 아 처음에 톱니바퀴의 위치에 따라서 옆 톱니바퀴가 회전하는지 안하는지를 생각을 안해줘서 너무 노가다로 풀었다,,,, 진짜 너무 빡침 ㅠ 이래서 설계가 중요하구나 느꼈음./... 중간에 코드 짜다가 아 이렇게 풀면 안되는구나 하고 알았는데 톱니바퀴 4개라서 노가다도 될 것 같고, 이미 돌아가기엔 너무 늦었으니까 이렇게 풀고 다음에 톱니바퀴2 문제나 이 문제 한번 더 풀어야 겠다 라고 ..

    [백준]7569번 토마토 - Java

    [백준]7569번 토마토 - Java

    문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 풀이 https://seokmimmmmmmmm.tistory.com/98 [백준]7576번 토마토 - Java 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000.. ..

    [백준]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..