전체 글

Algorithm/백준

백준 7569번 : 토마토(Java)

7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net [풀이] - BFS를 이용하여 풀었습니다.(7576번 문제와 거의 유사합니다. 차이점은 h(높이)에 대한 것이 있냐 없냐입니다.) - 7576번 토마토 문제에는 높이(h)가 없지만, 이번에는 h가 추가되어 3차원으로 arr을 선언해야 합니다. - 익은 토마토가 가지고 있는 토마토에 전부 영향을 줘야 하기 때문에 queue에 담긴 위치를 기반으로 모든 토마토를 익게 할 때까지 횟수를 기록해야합니다. - 이때, 횟수는 이전에 arr 2차원 배..

Algorithm/백준

백준 1987번 : 알파벳(Java)

1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net [풀이] - DFS를 이용하여 풀 수 있었습니다. - 다음 위치를 방문할 수 있는지를 해당하는 곳의 알파벳을 이전에 방문한 적있는지 확인해야 합니다. - 그래서, 1차원 배열로 26개의 크기로 boolean 배열을 만들었습니다. - 이후, 재귀적으로 메소드가 호출될 때 몇 칸을 지났는지에 대한 count 변수도 함께 넘겨줍니다. - 최종으로는, 다음 갈 곳이 이미 방문한 곳이라 갈 수 없다면, count 변수의 최대값을 answer 변수에 담고 메소드를 ..

Memo/21년 TIL

1113 ~ 1114 TIL (주말 정리하기)

| 1113 ~ 1114 [공부한 내용] 코딩테스트 공부 백준 2583번 영역 구하기 백준 7576번 토마토 백준 1987번 알파벳 수업 강의 Spring Security 2강 직렬화, api versioning, record에 대한 공부 [하루 정리]

Algorithm/백준

백준 2583번 : 영역 구하기(Java)

2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net [풀이] - DFS를 이용하여 문제를 풀었습니다.(DFS관련 유형에서 기본문제입니다.) - visited를 이용해서 재귀를 해야하는지, 안해야하는지 구분을 하려했습니다. - 하지만, 이 부분에 대해서는 arr 변수에 값을 1로 재할당하는 부분이 있어서 없어도 되는 부분입니다. - 영역의 개수는 리스트의 사이즈와 동일합니다. - 각 영역의 넓이를 출력해야 하므로 리스트에 담아 정렬 후, 출력합니다. [코드] import java.io.Buffe..

Algorithm/백준

백준 7576번 : 토마토(Java)

7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net [풀이] - BFS를 이용하여 풀었습니다. - 익은 토마토가 가지고 있는 토마토에 전부 영향을 줘야 하기 때문에 queue에 담긴 위치를 기반으로 모든 토마토를 익게 할 때까지 횟수를 기록해야합니다. - 이때, 횟수는 이전에 arr 2차원 배열에 기록된 것에 +1 함으로써 기록할 수 있습니다. - 주어진 값에서 1(익은 토마토)인 경우 모두 큐에 담아 이 큐에 담긴 Point 값이 시작 지점이 됩니다. - 이후, queue에서 하나씩 값을 꺼내 ..

Algorithm/백준

백준 1012번 : 유기농 배추(Java)

1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net [풀이] - BFS 유형의 문제였으며 영역을 구해야 하는 문제입니다. - 반복문을 돌며 값이 1이고, 방문하지 않았을 경우 solve메소드를 호출한 횟수를 구해 출력했습니다. - solve메소드를 호출했다는 것은 곧 이전과 새로운 영역이며 이 영역을 호출하면서 연결되어 있는 곳을 모두 확인하게 됩니다. - BFS는 큐를 이용해서 구현했으며 Point 라는 내부 클래스를 구현하여 x,y좌표 생성자로 만들 수 있도록 했습니다. - solve() 메소드를 통해 새로 방문한 곳이면..

skyey94
Retrospect