본문 바로가기

알고리즘112

[SWEA / 회문1 / JAVA] https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AV14QpAaAAwCFAYi&categoryId=AV14QpAaAAwCFAYi&categoryType=CODE&problemTitle=&orderBy=RECOMMEND_COUNT&selectCodeLang=ALL&select-1=3&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 접근 길이가 N인 문자라면 N까지 다 탐색할 필요없이 N/2까지 탐색하면서 대칭되는 인덱스랑 비교하면 된다. N/2까지 탐.. 2023. 5. 18.
[백준 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.