본문 바로가기

CodingTest/Programmers52

[Programmers] 전력망을 둘로 나누기 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]간선 하나씩 지운 그래프를 매번 dfs를 돌려 가장 작은 절댓값이 나오도록 구현하였습니다. [코드]import java.util.*;class Solution { ArrayList[] graph; boolean[] visited; int min; public int solution(int n, int[][] wires) { graph = new ArrayList[n+1]; .. 2025. 4. 19.
[Programmers] 피로도 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]보자마자 dfs를 사용해야겠다고 생각했습니다.모든 것을 검사하면서 answer보다 더 많은 던전을 갔다면 그걸 정답으로 바꿔주면서 계속 진행합니다. [코드]import java.util.*;class Solution { int n; int answer; int[][] dungeons; boolean[] visited; public int solution(int.. 2025. 4. 15.
[Programmers] 카펫 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]가로로 쭉 1개 -> 4변 + 4꼭지 8개 2개 -> 6변 + 4꼭지 10개 3개 -> 3*2 + 2 + 4꼭지 12개 4개 -> 4*2 + 2 + 4꼭지 14개 4/2 2*(2+2) + 4꼭지 12개 이렇게 적다보니 대충 어떻게 풀어야하는지 감이 왔다.일단 yellow의 갯수를 확인 후 1부터 yellow까지 나누기를 한다.1부터 나누는 수는 yellow를 가로로 몇개를 둘지 정하는 것이다. 문제에서 무조건 직사각형.. 2025. 4. 15.
[Programmers] 소수 찾기 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]numbers로 만들 수 있는 모든 경우의 숫자를 만들어 Set에 저장한 후하나씩 꺼내서 소수인지 아닌지 판별하고 정답을 구하는 방식으로 풀었습니다.코드에 주석을 보면서 이해하시면 좋을 것 같습니다. [코드]import java.util.*;class Solution { Set answers; boolean[] visited; List arr; int n; pu.. 2025. 4. 14.
[Programmers] 모의고사 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]최대 10000 문제로 구성이 되어 있어 완전 탐색을 사용해도 되는 문항이라1번, 2번, 3번이 찍는 패턴을 배열로 만들고 하나하나 검색하며답을 구했습니다. [코드]import java.util.*;class Solution { public int[] solution(int[] answers) { int[] a = {1,2,3,4,5}; int[] b = {2,1,.. 2025. 4. 13.
[Programmers] 최소직사각형 [문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [풀이 과정]명함의 가로와 세로의 길이를 정해서 주는 문제지만 명함을 돌릴 수 있다.돌릴 수 없다면 각 명함의 '가로에서 가장 큰 값 * 세로에서 가장 큰 값'이 정답이지만명함을 돌릴 수 있기 때문에 각 명함의 '가로 세로 중 큰 값 중에 큰 값 * 가로 세로 중 작은 값 중에 큰 값'을 곱하여효율적인 크기로 답을 구할 수 있다. [코드]import java.util.*;class Solution { .. 2025. 4. 12.