본문 바로가기

전체 글109

99클럽 코테 스터디 12일차 TIL (7569번: 토마토) 문제https://www.acmicpc.net/problem/7569 학습 키워드BFS 시도(시간 초과) 완전 탐색day를 1부터 H*N*M 까지 탐색하면서 모든 배열을 순회하면서 토마토를 익히고, 익은 개수를 센다.첫 째날부터 익은 토마토가 없다면 0을 반환한다.익은 토마토가 없다면 날짜를 출력한다. 이때, 배열에 0이 포함되어 있다면 -1을 출력하고, 아니라면 날짜를 출력한다.(성공) 익은 토마토를 기준으로 BFS값을 입력 받을 때, Queue에 익은 토마토의 위치를 추가한다. 이때, 현재 토마토가 익은 날짜가 언제인지 알 수 있는 값도 같이 추가한다.BFS 방식으로 Queue의 맨 앞 값(poll)을 빼내주면서하면서 익은 토마토 주변('앞', '뒤', '상', '하', '좌', '우')에 있는 익지.. 2024. 11. 8.
99클럽 코테 스터디 11일차 TIL (25195번: Yes or yes) 문제https://www.acmicpc.net/problem/25195학습키워드DFS 풀이 및 코드DFS를 통해 깊게 들어가면서 곰곰이를 만나는지 확인하는 방식이다.정답의 초기값을 "Yes"로 설정한 다음, 탐색 도중 곰곰이를 만난 경우 return을 한다.만약 더 이상 갈 곳이 없는데 곰곰이를 만나지 않았다면 (meet == false)라면 정답을 "yes"로 변경해준다import java.util.*;import java.io.*;public class Main { private static String answer = "Yes"; public static void main(String[] args) throws IOException { BufferedReader br = new.. 2024. 11. 7.
99클럽 코테 스터디 10일차 TIL (18352번: 특정 거리의 도시 찾기) 문제https://www.acmicpc.net/problem/18352학습 키워드BFS 시도출발 도시부터 시작해서 연결되있는 가까운 도시를 탐색한다. 탐색하면서 이동한 거리를 저장하고, 만약 이동한 거리가 주어진 K와 같다면 정답에 추가한다. 풀이 및 코드List listAnswer : 거리 정보 K와 거리가 같은 도시의 목록Map> graph : 도시간 연결을 Map으로 표시했다. 예제 입력 1을 기준으로 1: {2, 3}, 2: {3, 4}와 같이 저장된다.boolean[] visited : 해당 도시를 이미 탐색했는지 판단하기 위한 배열int[] distance : 출발 도시 X부터의 거리를 저장하기 위한 배열 import java.util.*;import java.io.*;public class .. 2024. 11. 6.
파일 전송 도구 Dropship 설명Good Lock Dropship(줄여서 'Dropship')은 삼성 굿락랩스에서 만든 앱입니다.이 서비스를 사용하면 기기간 파일 전송을 편리하게 할 수 있습니다. 파일을 공유하면 URL이 생성되는데 이를 통해 파일을 주고 받을 수 있습니다. 파일을 공유했을 때 나오는 생성되는 URL은 짧은 형식으로 되어있으며, https://g2sh.me/{아이디}/{코드} 형식으로 구성되어있습니다.  Good Lock Dropship 이용약관에는 아래와 같이 명시되어 있습니다.서비스 내용 및 유의사항Good Lock Dropship은 간편하고 빠르게 파일을 공유할 수 있는 서비스입니다. 사용자는 Android 뿐만 아니라 iOS, Web 등 기기의 OS나 종류에 상관없이 원하는 상대방에게 파일을 전송할 수 있으며.. 2024. 11. 6.
99클럽 코테 스터디 8일차 TIL (2644번: 촌수계산) 문제https://www.acmicpc.net/problem/2644학습 키워드BFS 시도(성공) 촌수를 계산해야하는 두 번호(a, b)의 조상까지 탐색하면서 같은 조상이 있는 지점까지 탐색한다. 그 다음, 두 번호(a, b)에서부터 같은 조상의 위치까지 1씩 더해가면서 거리를 찾는다.(성공) a부터 시작해서 b까지 BFS를 통해 거리를 구한다.풀이 및 코드visited: 이미 탐색한 정점은 다시 탐색하지 않기 위해서 필요한 배열distance: a부터 시작해서 각 정점에 도달했을 때, 거리가 몇인지 저장하는 배열현재 정점에서 가까운 정점부터 시작해서 탐색하고, 각 정점에 도달할 때마다 거리를 저장한다. 만약 목적지에 도달했다면 해당 목적지의 거리를 반환하고, 목적지에 도달하지 못 했다면 -1을 반환한다.. 2024. 11. 4.
99클럽 코테 스터디 6일차 TIL (2805번: 나무 자르기) 문제https://www.acmicpc.net/problem/2805학습 키워드이분 탐색 시도입력 제한 사항을 제대로 읽지 않고 풀어서 시간 초과 발생. 주어진 나무들의 높이 중 가장 큰 높이부터 1씩 줄여가면서 M을 만족하는 가장 높은 나무의 높이를 계산했다. 나무 높이의 최대값은 1,000,000,000이므로, 1초를 훨씬 넘는다. 처음에는 시간초과를 했을 때, 입력 값이 많아서 그런줄 알고 BufferedReader와 StringTokenizer를 사용해서 입력을 받았다. 나무의 높이는 1,000,000,000보다 작거나 같은 양의 정수 또는 0이다.(성공) 이분 탐색을 통해 범위를 줄여가면서 최적의 해를 구하는 방식으로 풀었다. 풀이0부터 나무 높이의 최대값(1,000,000,000)까지 이분 탐.. 2024. 11. 2.