알고리즘90 백준 알고리즘: 2178번 미로 탐색 문제 정보 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 핵심 BFS 알고리즘을 활용하여 문제를 풀이한다 큐를 사용할 때, Node 클래스를 만들어서 현재 위치와 Depth를 기록하고 이를 활용하였다 또한 현재 위치가 Invalid한지 확인하는 것, 갈 수 있는 위치인지(해당 Map의 값이 1인지) 확인하는 것 또한 빠뜨릴 수 있다 내가 가장 생각을 많이 했던 부분은 다음과 같다 while (!queue.isEmpty()) { Node popItem = queue.poll(); int row = popItem.row; int col = p.. 알고리즘/Java 2023. 10. 24. 백준 알고리즘: 1697번 숨바꼭질 문제 정보 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 핵심 ㅇㅇ 풀이 처음 풀이(실패) : DFS -> Timeout DFS 알고리즘을 활용하여 처음 풀이를 시작하였다 하지만 경우의 수가 무수히 많이 나오기 때문에, 전체 경우의 수를 모두 구하기에는 어려움이 있었던 것 같다 아무리 빨리 중단하도록 코드를 작성하여도, 결국에는 특정 조건에 만족하지 않으면 거의 모든 경우의 수를 확인해 봐야만 하기에 이 코드는 이 문제에서 효율적이지 않은 코드였다 import java.io.Buf.. 알고리즘/Java 2023. 10. 23. 백준 알고리즘 2667번: 단지번호붙이기 문제 정보 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 핵심 DFS, 백 트래킹 알고리즘을 사용하여 풀이하는 문제 5= 0 && col < size); } } NxN 배열에서 왼쪽 가장 위(0,0) 위치부터 오른쪽 가장 아래(N-1, N-1)까지 DFS를 통하여 인접한 위치로의 깊이 우선 탐색을 하여 지도의 값이 1이면 visited를 true로 만들어 주며, 해당 위치에서 다시 깊이 우선 탐색을 실시한다 한번 탐색할 때마다 count를 계속 올려주고, 계산이 끝났다면 이를 countList 리스트에 넣어 .. 알고리즘/Java 2023. 10. 23. Programmers: 신규 아이디 추천(2021 KAKAO BLIND RECURITMENT) 문제 정보 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 String / StringBuilder 의 문자열 가공 메서드를 잘 인지하고 있는지! Regular Expression에 대해서도 어느정도 알아야 효율적으로 풀 수 있는 문제 (replaceAll) 풀이 class Solution { public String solution(String new_id) { String step1 = new_id.toLowerCase(); StringBuilder step2 = new StringBuilder(); for(int i=0; i 0 && step4... 알고리즘/Java 2023. 10. 17. Programmers: 신고 결과 받기(2022 KAKAO BLIND RECRUITMENT) 문제 정보 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심 String 을 얼마나 잘 다루는지에 대하여, 또한 다양한 Data Type을 활용하여 연산할 수 있는지 판단하는 듯 또한 더 나아가 Java의 Stream API를 얼마나 잘 활용하는 지도 볼 수 있을 것 같다 풀이 import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = {}; Map userInfo = new HashMap(); Map .. 알고리즘/Java 2023. 10. 12. 이전 1 ··· 6 7 8 9 10 11 12 ··· 18 다음