본문 바로가기

알고리즘142

[백준] 1550 16진수 - 자바 문제 링크 https://www.acmicpc.net/problem/1550 풀이 코드 Integer.parseInt(String s, int radix) 활용 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); System.out.println(Integer.parseInt(s, 16)); } } 2021. 9. 15.
[백준] 9019 DSLR - 자바, BFS(너비 우선 탐색) 문제 링크 https://www.acmicpc.net/problem/9019 풀이 BFS(너비 우선 탐색)을 사용하여 풀이. 레지스터 값과 명령어들을 저장해두는 용도로 Result 클래스를 사용한다. 이미 계산한 값을 다시 계산하는 것을 막기 위해 visited 배열을 사용한다. import java.io.*; import java.util.*; public class Main { static boolean[] visited; public static String bfs(int from, int to) { Queue q = new LinkedList(); q.offer(new Result(from, "")); visited[from] = true; while (!q.isEmpty()) { Result r.. 2021. 7. 25.
[백준] 14889 스타트와 링크 - 자바, DFS(깊이 우선 탐색) 문제 링크 https://www.acmicpc.net/problem/14889 풀이 DFS(깊이 우선 탐색)을 진행하여 팀원 조합을 구한다. 하나의 팀원 조합이 완성될 때마다 스타트 팀과 링크 팀의 능력치 차를 구한다. 두 팀의 능력치 차가 0이 나올 경우 , 최소 값이기 때문에 flag 변수를 사용하여 남은 메서드들이 실행되지 않도록 한다. import java.io.*; import java.util.*; public class Main { static int[][] board; static boolean[] check; static int n, min=Integer.MAX_VALUE; static boolean flag = false; public static void dfs(int level, i.. 2021. 7. 23.
[프로그래머스] 단체사진 찍기(2017 카카오 코드 본선) - 자바, DFS(깊이 우선 탐색) 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1835 문제 풀이 DFS(깊이 우선 탐색)을 사용하여 순열을 만들고 주어진 조건을 만족하는지 검사한다. 어떤 이유인지는 잘 모르겠지만, answer를 solution 메서드에서 초기화해주지 않으면 프로그래머스 테스트에서 통과가 되지 않는다. class Solution { static String[] conditions; static int[] check; static char[] arr; static char[] friends = {'A', 'C', 'F', 'J', 'M', 'N', 'R', '.. 2021. 7. 22.
[백준] 1759 암호 만들기 - 자바, DFS(깊이 우선 탐색) 문제 링크 https://www.acmicpc.net/problem/1759 풀이 DFS(깊이 우선 탐색)을 사용하여 풀이 import java.io.*; import java.util.*; public class Main { static char[] arr; static int[] check; static int l, c; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); l = Integer.parseInt(st... 2021. 7. 19.
[프로그래머스] 소수 찾기 - JAVA, DFS(깊이 우선 탐색) 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, .. 2021. 7. 16.