본문 바로가기

Algorithm94

[알고리즘 문제풀이] 프로그래머스 - 쿼드압축 후 개수 세기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr /** 1. 분할정복으로 2^n * 2^n이 같은 숫자로 안되어있으면 분할 2. 최종분할로 들어간게 같은 숫자로 이루어져있으면 체크 3. 0과 1의 개수 반환 **/ clas.. 2022. 4. 3.
[알고리즘 문제풀이] 백준 7579 앱(JAVA코드) https://www.acmicpc.net/problem/7579 7579번: 앱 입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활 www.acmicpc.net import java.util.*; import java.io.*; /** * 1. 앱 메모리와 비용(n개)과 구해야할 메모리(m)가 주어짐. * * 2. dp[앱][최소비용] = 최대메모리 * * 3. 2중 포문으로 돌면서 m이상 중 최소비용 저장해두기 * */ public class Main { public static void main(String[] args) throws IOException{ .. 2022. 4. 2.
[알고리즘 문제풀이] 백준 21611 마법사 상어와 블리자드(JAVA코드) https://www.acmicpc.net/problem/21611 21611번: 마법사 상어와 블리자드 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그, 비바라기 마법을 할 수 있다. 오늘 새로 배운 마법은 블리자드이고, 크기가 N×N인 격자에서 연습하려고 한다. N은 항상 홀수이고, ( www.acmicpc.net /** * 1. 맵 생성 * * 2. 각 모듈화를 통해 구현할 예정 */ import java.util.*; import java.io.*; public class 마법사상어와블리자드 { public static int n,m, result,sx,sy; public static ArrayList numberMap = new ArrayList(); public static int[.. 2022. 4. 1.
[알고리즘 문제풀이] 백준 21610 마법사 상어와 비바라기(JAVA코드) https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net /** * 1. 맵 생성 * * 2. 각 모듈화를 통해 구현할 예정 */ import java.util.*; import java.io.*; public class Main { public static int n,m; public static int[][] map; public static Queue cloud; public static int[][] dirXY = {{0,-1},{-1,-.. 2022. 3. 31.
[알고리즘 문제풀이] 프로그래머스 - 이진 변환 반복하기 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr /** 1. replaceAll로 0 제거. 2. 길이비교하여 0 제거 개수 체크 3. 남은 길이를 2진법으로 다시 변환 4. 반복하여 1이 남을때까지 체크하여 정답 반환. **/ class Solution { public int[] solution(String s) { int zeroCnt = 0; int convertCnt = 0; while(!s.equals("1")){ int length = s.length(); s = s.replaceAll("0",""); int newLength = s.length(); zeroCnt +=.. 2022. 3. 27.
[알고리즘 문제풀이] 프로그래머스 - 모음사전 / JAVA(자바) https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr /** 1. dfs 풀이 **/ class Solution { public String[] dict; public int cnt = 0, answer = 0; public int solution(String word) { dict = "AEIOU".split(""); dfs("", word); return answe.. 2022. 3. 26.
[알고리즘 문제풀이] 백준 17144 미세먼지 안녕!(JAVA코드) https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net /** * 1. 전체 맵을 돌며, 미세먼지 확산 * * 2. 공청기 돌리기 */ import java.util.*; import java.io.*; public class Main { public static int r,c,t; public static int[][] map; public static ArrayList cleaner = new ArrayList(); public static in.. 2022. 3. 24.
[알고리즘 문제풀이] 백준 16236 아기 상어(JAVA코드) https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net /** * 1. bfs 전체 탐색 * * 2. 탐색해서 먹을 수 있는 곳들을 체크. * * 3. 그 중 가장 거리가 가까운 물고기 먹기. * * 4. 거리가 가까운것들 중 우선순위 1. 위, 2. 왼쪽 * * 5. 이동은 1초 * * 6. 아기 상어가 몇초동안 물고기를 잡아먹을 수 있는지 출력. * * ---------------------------------------------- * .. 2022. 3. 23.