분류 전체보기194 [SWEA / 어디에 단어가 들어갈 수 있을까 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PuPq6AaQDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 이중 for문에서 행을 쭉, 열을 쭉 탐색하면서 1이 얼마나 이어지는지 체크한다. 0을 만나거나 1로 행이 끝났을 때 이어진 1의 크기가 목표 길이와 맞는지 비교 맵을 둘러싸는 가상의 공간이 있다 생각하고 크기를 +2 더 주거나, 맵의 크기를 딱 맞춰서도 풀 수 있다. ++ 유연한 사고를 가지자 맵의 크기를 + 2로 했을 때 import java.util.*; import java.io... 2023. 4. 27. [백준 4179번 / 불! / JAVA / BFS] https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net 문제 접근 좀 어렵게 느껴졌다. 불과 지훈이를 똑같이 한 칸 씩 이동시켜야 한다. 불과 지훈이의 이동 관련된 while문을 다시 전체 while문으로 감싼다. 기존에 BFS를 사용할 땐 while문의 조건을 !변수명.isEmpty()로 값이 있을 때 까지 계속 돌렸는데 불과 지훈이를 같이 이동 시키기 위해선 조건을 큐의 크기로 지정해주었다. → 사이즈는 while문 밖에서 정하고 .. 2023. 4. 26. [SWEA / 초심자의 회문 검사 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PyTLqAf4DFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 앞에서 읽든 뒤에서 읽든 같은 단어인지 구분해야한다. 단어를 chartAt()으로 처음과 뒤를 하나씩 비교해가면서 다르면 바로 0을 출력, 다르지 않고 반복문이 끝나면 1을 출력시켜 주었다. import java.util.*; import java.io.*; public class Solution { public static void main(String[] args) throws IOE.. 2023. 4. 25. [백준 1012번 / 유기농 배추 / JAVA] https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제 접근 DFS 2차원 배열을 만들어서 배추있는 지역에 1을 넣어주고, 방문했는지 판단을 위해 2차원 boolean 배열도 만들어 줌 배열을 돌면서 1을 발견하면 네 방향 탐색하면서 방문을 하지 않았고 1인 지역이 있다면 DFS로 타고 들어가서 계속 탐색한다. 연결된 모든 지역을 나비가 타고 들어가기에 1을 처음 발견했을 때만 나비 갯수를 카운트 해준다. ++ 2차원 배열 공간의 크기를 지정해줄 때 세로, .. 2023. 4. 24. [백준 1743 /음식물 피하기 / JAVA / 완전 탐색] https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net 문제 접근 배열 공간에서 음식물 쓰레기를 발견하면 해당 위치를 기준으로 BFS, DFS 중 탐색 방법을 정한다. DFS는 한 곳을 쭉 탐색했다가 처음 위치로 돌아오지만 BFS는 한 곳 탐색하고 다시 시작 위치로 와서 다음 방향을 탐색하기 때문에 움직일 방향을 Queue에 미리 저장해둔다. ++ 이런 문제에 익숙해질 필요가 있을 거 같다. DFS import.. 2023. 4. 23. [백준 15649 / N과 M(1) / JAVA / 완전 탐색] https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 접근 입력한 N 숫자를 1부터 다 돌아가면서 중복없이 출력해야한다. 재귀 함수로 호출과 귀환을 반복하면서 모든 숫자를 탐색한다. 이해가 안되서 출력을 찍어가면서 했는데도 머리가 어지럽다. 이런 형태로 쓰인다라고 생각하고 필요하면 다시와서 봐야겠다. import java.util.*; import java.io.*; public class Main { static int N; // 여러 메서.. 2023. 4. 21. 이전 1 ··· 9 10 11 12 13 14 15 ··· 33 다음