📚 문제 https://school.programmers.co.kr/learn/courses/30/lessons/388351 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🔍 아이디어 시간을 60분 단위로 계산하는 것이 포인트.또한 시간이 0530과 같은 형식이 아닌 530과 같이 들어오기에 잘 잘라서 계산해야한다. 📝 풀이 import java.util.*;class Solution { public int solution(int[] schedules, int[][] timelogs, int startday) { int answer = 0; int peopleCnt = ..
📚 문제 https://www.acmicpc.net/problem/1111 🔍 아이디어 절댓값 내의 범위가 -100, 100 사이라 하여 완전 탐색을 고려하였다.1. 실수 포인트 : -100 ~ 100 사이에서 A가 반드시 나오지 않는다. B가 커버칠수도 있다 (-100 , 99 와 같은 케이스 )input:3-100 -99 2output:10203// 수열의 세 번째 수로 2가 아니라 2 이상 100 이하의 수 중 아무거나 사용하여도// 모두 곱해지는 수의 절댓값이 100을 넘습니다.// -100 * 101 + 10001 = -99, -99 * 101 + 10001 = 2출처 : https://www.acmicpc.net/board/view/107405 2. 실수 포인트 : 중복 값을 비교하는..
📚 문제 https://www.acmicpc.net/problem/16947🔍 아이디어 1. Cycle을 찾는다. -> DFS2. Cycle에 속한 것들만 추려 거기서 부터 시작되는 것들의 Depth(distance)을 찾는다. -> BFS 실수 했던점 : casting 오류 (Integer 과 Integer을 비교하면 reference만 비교한다. 주의 필요) Cycle을 찾는법 : (하기 두 개의 방법은 싸이클이 하나일때만 생각한 것입니다)1. union find ( findParents(a) == findParents(b) 인 경우면 이미 두개가 같은 부모를 향하는 것으로 싸이클임 존재함을 의미)2. DFS (이미 방문된 노드라면 싸이클이 존재함을 의미한다) 📝 풀이 package 백준...
📚 문제 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 🔍 아이디어 기본적인 구현 문제이다. DFS/ BFS 두 가지로 모두 풀 수 있지만 나는 BFS를 이용해서 풀이하였다. 갈 수 있는 길이 대각선을 포함함으로 경로에 추가한다. 또한 모든 섬을 찾아야 하기에 모든 배열을 탐색하면서 이미 방문하지 않은 섬의 경우에 탐색을 시작하고 해당섬을 BFS로 순회하면서 visit 배열을 색칠하면 된다.(방문처리를 한다) 즉, 모든 지도를 탐색하면서 1번 섬을 만난 경우 1번 섬에 대해 visit을 모두 칠하고, ..
📚 문제 22862번: 가장 긴 짝수 연속한 부분 수열 (large) 수열 $S$에서 최대 $K$번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 출력한다. www.acmicpc.net 🔍 아이디어 📝 풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamR..