본문 바로가기
728x90
반응형

java226

[프로그래머스/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.
[프로그래머스/java] 최소 직사각형 https://programmers.co.kr/learn/courses/30/lessons/86491 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 이번 문제는 Min, Max만 잘 써도 쉽게 풀리는 문제이다 문제 설명 중에 "가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기.. 2022. 2. 23.
[프로그래머스/java] 타겟 넘버 - BFS 이용 https://programmers.co.kr/learn/courses/30/lessons/43165?language=java 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 이번 포스팅은 타겟 넘버입니다. DFS나 BFS를 이용하여 푸는 문제입니다. 저는 BFS를 이용하여 풀었는데 처음에는 백트래킹(완전탐색)을 이용하여 테스트케이스를 풀었으나, 제출 시 시간초과가 4개의 케이스에서 발생했습니다. BFS를 이용해서 풀면 시간초과가 나지 않고 풀 수 있습니다.. 2022. 1. 6.
[알고리즘/java] 조합을 구하는 코드 공식 콤비네이션을 구하는 코드이다. int[] combi 배열을 만들고, for문으로 순회하면서 combi 배열을 채우고, 조합해야할 개수의 수만큼 도달했을 때 조합되어지는 수들의 경우를 출력한다. package _08_dfsBfs._009_getCombi; /** * 입력 4 2 출력 1 2 1 3 1 4 2 3 2 4 3 4 */ import java.util.Scanner; public class Main { static int[] combi; static int n, m; public static void dfs(int L, int s) { if(L == m) { for(int x : combi) System.out.print(x + " "); System.out.println(); } else { f.. 2021. 11. 30.
[백준/java] 15686번: 치킨 배달 - 삼성 SW 역량테스트 기출(조합문제) https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 쉬운 말로, 집 A가 있고, 치킨집 B, C ,D가 있다 가정하면, 집 A부터 B까지의 거리, A부터 C까지의 거리, A부터 D까지의 거리를 누적하면 도시의 치킨 거리의 합이 구해진다. 이 과정을 모든 집 마다의 치킨 거리를 구하여 가장 적은 값을 .. 2021. 11. 30.
[백준/java] 2573번: 빙산 - dfs https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 문제 풀이 과정 1. 먼저 연결되어있는 빙산이 조사 2. 다 순회 후 빙산 녹이기 3. 빙산이 2개이상 나뉜게 없으면 0 출력, 2개 이상이면 녹인 햇수 출력 4. 1번부터 3번까지 계속 반복 입력 값 : 5 7 0 0 0 0 0 0 0 0 2 4 5 3 0 0 0 3 0 2 5 2 0 0 7 6 2 4 0 0 0 0 0 0 0 0 0 종합적인 코드는 아래와 같다. package dfsAnd.. 2021. 11. 26.
728x90
반응형