본문 바로가기

Algorithms

(98)
[Java] SW Expert Academy 2819번 문제: 격자판의 숫자 이어 붙이기 (너비우선탐색 BFS) --- 문제 --- 격자판의 숫자 이어 붙이기 --- 코드 --- 1. 격자에 숫자를 입힌다. 2. 격자의 임의의 한 자리를 시작점으로 6스텝 옮겨서 숫자를 만든다(BFS) 3. 결과를 중복되지 않게 저장하는 Set 자료 구조에 추가한다 4. 모든 격자 칸을 시작점으로 위 과정을 반복해서 마지막에 Set에 저장된 숫자 갯수를 출력한다 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.HashSet; import java.util.Scanner; public class Sw2819 { public static HashSet result; public static int[][] map; public st..
[Java] SW Expert Academy 2072번 문제: 홀수만 더하기 - Brute Force --- 문제 --- 2072. 홀수만 더하기 --- 코드 --- import java.util.Scanner; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Sw2072 { public static void main(String[] args) throws FileNotFoundException { System.setIn(new FileInputStream("./src/2072.txt")); Scanner sc = new Scanner(System.in); int T=sc.nextInt(); for(int test_case = 1; test_case
[Java] SW Expert Academy 1206번 문제: [S/W 문제해결 기본] 1일차 - View (Greedy Algorithm) --- 문제 --- [S/W 문제해결 기본] 1일차 - View --- 코드 --- 건물 5개마다 중간 3번째의 위치한 건물이 가장 높으면 주변의 4개 건물에서 가장 높은 높이를 중간 건물에서 빼서 조망권이 확보된 층의 갯수를 알아내는 과정을 반복하여 문제를 풀었습니다. import java.util.Arrays; import java.util.LinkedList; import java.util.Scanner; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Sw1206 { public static void main(String[] args) throws FileNotFoundException { Syst..
[Java] SW Expert Academy 1244번 문제: [S/W 문제해결 응용] 2일차 - 최대 상금 (완전탐색 DFS) --- 문제 --- [S/W 문제해결 응용] 2일차 - 최대 상금 --- 코드 --- 처음에 Greedy 한 방법으로 시도했다가, 넘치는 오답을 못이겨 결국 완전탐색을 이용해서 왠만한 경우의 수를 다 탐색해보는 방식을 사용하였습니다. import java.util.Scanner; import java.io.FileInputStream; import java.io.FileNotFoundException; public class Sw1244 { public static int result; public static void main(String[] args) throws FileNotFoundException { System.setIn(new FileInputStream("./1244.txt")); Scan..
[Java] LeetCode 문제 풀이 : Problem2 Add Two numbers(Linked List) --- 문제 --- You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. 0 혹은 양수로 이루어진 값을 표현하는 무조건 1개 이상의 노드가 포함된 링크드 리스트 2개가 주어질 것이다. 대신 반대의..
[Java] LeetCode 문제 풀이 : Problem1 Two Sum (Array) ---문제--- Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. interger 로 구성된 배열 nums 와 interger 숫자 target 이 주어졌을 때, nums 에 포함된 숫자들 중 더해서 target 숫자가 될 수 있는 숫자 2개의 index를 반환하는 코드를 짜시오..
[Java] Progrmmers 코딩테스트 연습 : 등굣길 (동적 계획법 Dynamic Programming, BFS,Stack) --- 문제 --- 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한사항 격자의 크기 m, n은 1 이상 100 이하인 자연수입니다. m과 n이 모두 1인 ..
[Java] Progrmmers 코딩테스트 연습 : 크레인 인형뽑기 게임 (Stack) --- 문제 --- 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 아래 칸부터 인형이 순서대로 쌓이게 됩니다. 다음 그림은 [1번, 5번, 3번] 위치에서 순서대로 인형을 집어 올려 바구니에 담은 모습입니다. 만약 같은 모양의 인형 두 ..

728x90
반응형