본문 바로가기

Algorithm65

[프로그래머스] 타겟 넘버 자바 문제 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 풀이 DFS/BFS 문제를 풀고 싶어서 DFS카테고리에서 문제를 골랐는데, 아무리 생각해도 완전탐색으로 푸는 것 같았다. 그래서 찾아보니 DFS(또는 BFS)는 모든 노드를 탐색하는 것을 목표로 하는 완전탐색을 기반으로 한 탐색 기법이라고 나왔다. 아마 완전탐색을 구현하는 방법 중 하나로 DFS/BFS가 포함되어 있나보다..? 더하기, 빼기 연산밖에 하지 못하므로 주어진 숫자 배열에서 더할 숫자만 .. 2021. 11. 18.
[백준] 1260번 DFS와 BFS 자바 문제 (실버2) 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제 풀이 이 문제는 진짜 제목 그대로 DFS와 BFS를 직접 구현해보는 문제이다. 코딩테스트 연습을 하다보면 자주 접하게 되는 개념이지만, 어려워서 항상 코드를 보고 풀었다. 이번 기회에 DFS와 BFS개념을 확실히 다지고자 풀게되었다. 이번 기회에 개념 꼭 다지고 넘어가야지! 우선 DFS알고리즘은 깊이 우선 탐색으로 스택을 이용하는 방법과 재귀함수를 이용하는 방법 두가지가 있는데, 대부분 재귀함수를 이용하.. 2021. 11. 17.
[프로그래머스] 괄호 변환 자바 문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제 풀이 문제에 제시된 변환 알고리즘을 하나씩 구현하다 보면 됨 소스 코드 class Solution { public static String solution(String p) { String u = "", v = ""; int a = 0, b = 0; String[] arr = p.split(""); if(p.equals("")) return ""; fo.. 2021. 11. 7.
[프로그래머스] 크레인 인형뽑기 게임 자바 문제 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제풀이 소스코드 import java.util.Stack; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; int board_top; Stack stack = new Stack(); for(int i = 0; i < moves.length; i++){ for(int j = 0; j < board.length; j++){ board_top = board[j][moves[i]-1]; b.. 2021. 11. 7.
[프로그래머스] 프린터 자바 문제 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제풀이 소스코드 class Solution { public int solution(int[] priorities, int location) { int[] moveIndex = new int[priorities.length]; int current = 0, temp = 0, m_temp = 0; boolean isExist = false; //초기 대기열의 인덱스 대입 for(int i = 0; i < priorities.length; i++) moveInde.. 2021. 10. 26.