본문 바로가기

전체 글194

[백준 11048 / 이동하기 / JAVA] https://www.acmicpc.net/problem/11048 11048번: 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 www.acmicpc.net 문제 접근 N, M 좌표까지 가는 모든 경우의 수를 다 탐색해서 최대값을 구하였는데 시간초과가 뜨더라 시간을 단축시키기 위해선 각 좌표마다 그 좌표가 가질 수 있는 최대값을 저장해놓은 것이라고 한다. 사람이 움직일 수 있는 방향은 오른쪽, 아래, 오른쪽 아래 대각이니까 현재 서 있는 좌표가 최대값을 가지려면 현재 서 있는 좌표의 사탕 갯수 + 위, 왼쪽, 왼쪽 위 대각 (현재 서 있.. 2023. 5. 18.
[SWEA / 원재의 메모리 복구하기 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV19AcoKI9sCFAZN&categoryId=AV19AcoKI9sCFAZN&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 처음엔 charAt()으로 한 문자씩 잘라서 비교했는데 값이 달라서 나머지 문자들을 다 변경시켜줘야 할 때 나머지 문.. 2023. 5. 17.
[SWEA / 농작물 수확하기 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV7GLXqKAWYDFAXB&categoryId=AV7GLXqKAWYDFAXB&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 파란 부분을 상단, 중간, 아래로 나누어서 계산 배열의 인덱스는 0부터 시작이라 N/2를 사용하면 인덱스의 중간 사용.. 2023. 5. 17.
[SWEA / N-Queen / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7GKs06AU0DFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 이해가 안된다.. 다음에 다시 볼 것 import java.util.*; import java.io.*; public class Main { static int[] queen; static int count; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(ne.. 2023. 5. 16.
[백준 16953 / A → B / JAVA / BFS, DFS] https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 접근 답을 보면 쉬우나 매번 떠올리는 게 쉽지 않다. DFS 재귀로 계속 돌면서 A, B가 같아지는 순간 최소 횟수를 저장하고 모든 재귀를 다 돌고 main 메서드로 돌아갔을 때, 최소 횟수에 변경이 있었으면 count를 출력하고 변경이 없었다면 A, B가 같아지는 순간이 없었기에 -1출력 import java.util.*; import java.io.*; public class Main { static long A; static long B; static int count = Integer.MAX_VALUE; pu.. 2023. 5. 15.
[SWEA / 파리 퇴치 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 2차원 배열 값 정하고 M만큼 돌리면 되겠다라는 생각은 바로 들었는데 수식을 어떻게 짜야할지 생각하는데 시간이 걸렸다. 원하는 공간만큼 파리채를 찍기 위해선 시작 지점(i, j)과 파리채의 크기(M)만큼 움직일 지점(i2, j2)가 필요하다. 이걸 4중 for문으로 작성하고 가로 세로를 M 사이클만큼 돌면 그 때의 합을 이전 합과 비교해서 가장 큰 값을 출력해준다. import java... 2023. 5. 15.