알고리즘/문제풀이 (26) 썸네일형 리스트형 백준 1994 등차수열(DP) - Java https://www.acmicpc.net/problem/1994 * 예제입력514357 * 예제출력4 풀이1. DP로 풀어야 한다.n=5이고 5번 숫자를 입력받는다. 이를 정수형 배열에 넣고 오름차순 정렬한다.배열 nums의 크기는 n이 아닌 편의를 위해 n+1 로 지정함.그럼 nums={0, 1, 3, 4, 5, 7} 2. DP로 풀기위해 2차원 배열 생성.int [][]dy = new int[n+1][n+1];또한 이중 반복문 i,j로 dy[i][j]를 접근한다. 아래 그림처럼 [1][2]~[1][5]까지 2로 채워진 것을 볼 수 있다이 배열 dy[1][2]가 뜻하는 것은 nums[1] = 1 nums[2] = 3 1 3 으로 만들수 있는 수열의 길이는 2이다. 2. dy배열의 2번째 row로.. 방향 바꾸기 [그래프 문제] 풀이 문제:현수에게 n * m 크기의 격자판으로 된 지도정보가 주어집니다. 지도의 각 격자에는 1, 2, 3, 4의 값이 있는데1 : 오른쪽의 인접한 격자로 이동을 의미합니다.2 : 왼쪽의 인접한 격자로 이동을 의미합니다. 3 : 아래로 인접한 격자로 이동을 의미합니다.4 : 위로 인접한 격자로 이동을 의미합니다.현수는 격자에 표현된 방향지시대로 0행 0열(격자의 왼쪽 가장 위) 지점에서 n-1행 m-1열 (격자의 오른쪽 가장 아래 지점)으로 이동하려고 합니다.매개변수 board에 지도정보가 주어지면 현수가 (0, 0) 지점에서 (n-1, m-1)지점까지 가기 위 해서 방향을 바꾸어야 하는 최소 격자의 개수를 반환하는 프로그램을 작성하세요.한 격자의 방향은 현수가 원하는 방향으로 오직 한 번만 바꿀 수 있습니.. [SWEA]1258. [S/W 문제해결 응용] 7일차 - 행렬찾기 D4 - Java https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18LoAqItcCFAZN&categoryId=AV18LoAqItcCFAZN&categoryType=CODE&solveclubId=&battleMainPageIndex=&probBoxId=AV18LoAqItcCFAZN&problemBoxTitle= SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 링크 첨부로 자세한 문제설명 생략한다. nxn배열에서 단순히 저렇게 0이상인 수로 직사각형 모양을 이루고 있는것들의 대한 정보를 뽑아내면 된다. 사각형들의 개수, 각 사각형들의 세로와.. [SWEA]1868. 파핑파핑 지뢰찾기 D4 - Java 문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LwsHaD1MDFAXc SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 지뢰찾기에서 지뢰가 아닌것만을 클릭한다고 가정할때 가장 적은 클릭횟수로 지뢰가 아닌 부분을 다 찾는문제이고 최소 클릭횟수를출력하는 문제이다. 지뢰는 '*' 지뢰가 아닌것은 '.' 로 입력받는다 풀이 1.반복문을 통해 순서대로 지뢰가 아닌 '.' 인 부분을이웃한 8방향에 지뢰가 있는지 검사하는isClean(int y , int x, int n) 함수 선언 클릭할때 동작하는 dfs(int y, i.. 1249. [S/W 문제해결 응용] 4일차 - 보급로 java https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=4&contestProbId=AV15QRX6APsCFAYD&categoryId=AV15QRX6APsCFAYD&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=JAVA&select-1=4&pageSize=10&pageIndex=2 SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 입력 n*n크기의 배열이 있고,S -> G 에 도달할때의 최소비용을 출력하는 문제이다. DFS로 풀려고했으나 완전탐색으로는 시간초과되어 다.. [SWEA] 1247. [S/W 문제해결 응용] 3일차 - 최적 경로 D5 (java) https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15OZ4qAPICFAYD SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 위 링크로 문제설명은 간략하게 한다.회사 => 고객들의 좌표 => 집 해당 루트에서 가장 최단거리를 출력하면 되며 거리는 |x1-x2| + |y1-y2| 로 계산된다.나는 DFS 를 사용했으며 중복되지 않는 순열 인덱스 정보를 뽑아내어 고객좌표를 누적했다. 문제에서는 아래와 같이 효율성을 고려하지 않아도 된다고해서 그냥 DFS로 풀었는데 효율적으로 풀기위해 외판원 알고리즘(TSP) 로 다시 풀어보.. [프로그래머스] 전력망을 둘로 나누기 (Union-Find) - Java https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 위 그림처럼 [1,3]의 의미는 1번과 3번을 연결하는 것이며 임의의 연결을 제거하고 둘로 나눠진 전력망을 빼서 가장 작은 수를 출력하는 것이다. 그림에서는 전력망을 분리해 6개 3개로 나뉘어졌고 6-3은 3이기에 정답은 3이 된다. 풀이이 문제를 보자마자 전력망을 연결시키기에 연결이라는 단어에 union-find로 풀어야겠다고 생각했다.단순하게 전력망 연결정보인 wires배열의 값들을 하나씩 건너.. [SWEA] 1954. 달팽이 숫자 - Java 입력 n이 주어진다. nxn으로 다음과 같은 결과를 출력하라. 풀이 : 그림에서 특별한 패턴을 찾지못해, DFS로 풀었다.달팽이가 이동하는 방향은 우측,하단,좌측,상단 으로 반복된다. 때문에 방향정보가 저장된 int [] dy,dx배열을 사용.우측으로 이동가능하면 우측으로 계속이동, 더이상 이동 못하는 상황이면 하단,좌측,상단 그리고 다시 우측 이것을 재귀로 실행. 전체코드 import java.util.*;import java.io.FileInputStream; class Solution{ static int n,m; static int idx; static int[][] arr; static int status; static int[] dy=.. 이전 1 2 3 4 다음 목록 더보기