본문 바로가기
728x90
반응형

코딩테스트/프로그래머스66

[프로그래머스/java] 소수찾기 - 백트래킹 사용(예제 코드 포함) https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제의 카테고리가 완전탐색이다. 완전탐색은? 바로 백트래킹을 쓰면 된다. 모든 조합을 브루트 포스로 다 구하면 모든 경우에 대해서 값을 다 구할 수 있다. 다음은 백트래킹 예시이다. int val = 0; boolean[] check = new boolean[len]; public void backTracking(int len, int limit,.. 2022. 3. 4.
[프로그래머스/java] 가장 큰 수 - Arrays.sort Comparator Override https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 이 문제를 풀 때, 제일 먼저 생각했던 풀이 방법이 백트래킹(완전탐색) 이었다. 큰 고민 없이 주어진 배열에서 모든 수를 조합해서 도출해낼 수 있는 쉬운 결론이었다. MaximumNumber.java package maximumNumber; import java.util.Arrays; import .. 2022. 3. 2.
[프로그래머스/java] 괄호 회전하기 - Stack 사용 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr Stack을 이용하면 쉽게 풀 수 있다. 마지막에 Stack이 비어있는지 아닌지 확인해 줘야한다. package bracketRotate; /** * https://programmers.co.kr/learn/courses/30/lessons/765023 * * 괄호 회전하기 * * Stack을 이용하여 풀면 쉽게 풀린다. * * 마지막에 stack 안에 값이 있는지 확인해주어야 한다. */ import java.util.Stack; public class BracketRotate { public static void main(String[.. 2022. 2. 26.
[프로그래머스/java] 카카오프렌즈 컬러링북 - 카카오 기출 https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 값이 0인 부분은 영역으로 카운트하면 안된다. 제일 넓은 영역을 구하는 것이므로 BFS를 사용하여 풀면 된다. package kakaoFriendsColoringBook; /** * https://programmers.co.kr/learn/courses/30/lessons/1829 * * 카카오프렌즈 컬러링북 - 카카오 기출 * * 값이 0인 부분은 카운트 하면 안.. 2022. 2. 26.
[프로그래머스/java] 게임 맵 최단거리 - BFS 사용 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 시작위치에서 목적지까지 최단거리를 구하는 문제는 무조건 BFS로 풀어야한다. 최단거리를 구하는 문제는 BFS 만한 것이 없다. import java.util.*; class Solution { int[] dy = {1, 0, -1, 0}; int[] dx = {0, 1, 0, -1}; boolean[][] v.. 2022. 2. 25.
[프로그래머스/java] 멀쩡한 사각형 - 유클리드 호제법 사용 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 이 문제는 유클리드 호제법 공식을 써야한다. 유클리드 호제법 공식 1 int gcd(int a, int b) { int c; while(b) { c = a % b; a = b; b = c; } return a; } 유클리드 호제법 공식 2 public static int gcd(int p, int q) { if (q == 0) retu.. 2022. 2. 25.
728x90
반응형