전체 글

🍀
📖 문제 https://www.acmicpc.net/problem/12100   💡  풀이 방식• 백트래킹 + 시뮬레이션 백트래킹으로 상하좌우 4방향에 대해 5회까지 다 이동시켜보고, 배열 내 가장 큰 수를 구한다.  🔸 void DFS(명령 횟수)[종료 조건] 명령 횟수가 5번인 경우, 배열 내 최댓값을 탐색하고, 이를 최댓값과 비교해 최댓값 갱신if(cnt == 5) { findMax(); return;} 그게 아닌 경우, 과정 1,2를 진행한다. 1) 원본 배열 map을 복사한다.int[][] copy = copyArray(map); 2) 상하좌우 4방향 중 이동 방향을 정하고, 해당 방향으로 이동시키고, 명령 횟수에 +1해 재귀호출을 진행한다. 그리고 이동시켰던 배열 값을 원상복구..
📖 문제 https://www.acmicpc.net/problem/21315   💡  풀이 방식• 브루트포스  🔺 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import java.util.*;import java.io.*; public class Main {    static int N, K, K1, K2;    static int[] input, deck;        public static void main(String[] args) throws IOException..
📖 문제 https://www.acmicpc.net/problem/17085    💡  풀이 방식• 구현 & 브루트포스- 완전탐색으로 #인 위치에 첫 번째 십자가를 놓는다.- 현재 위치의 행과 열 중 큰  값의 크기의 십자가가 격자판에 놓일 수 있는지 확인한다. (crossChk 메소드)private static boolean crossChk(int y, int x, int size) { for(int d = 0 ; d   - 놓을 수 있다면(crossChk == true), 2번째 십자가의 최대 크기를 탐색한다. (search 메소드)private static void search(int y, int x, int size) { int result = 0; for(int i = x+1..
Docker 이미지 컨테이너로 Run하기컨테이너란? : 독립된 개발 환경 Docker에서 이미지 Run하는 방법 git bash를 실행하고 아래 명령어를 작성한다. git clone https://github.com/docker/welcome-to-dockerbono039.tistory.com Docker에 Apache 서버 띄우기아파치 서버 띄우기 docker run --name 이름 -d -p 808X:80 httpd 아파치 서버 여러 대 띄우기 localhost:808X 각 포트 번호로 접속했을 때 아래 화면 같이 뜨면 여러 대의 아파치 서버가 띄워진 것이다! 서버를bono039.tistory.com  https://bono039.tistory.com/1190   [Docker] Docker Com..
📖 문제 https://www.acmicpc.net/problem/16943   💡  풀이 방식• 백트래킹 백트래킹으로 정수 A에 포함된 숫자들의 순서를 섞어 숫자 C를 만든다.이렇게 만든 숫자가 0으로 시작하지 않고, B보다 작은 경우, 정답과 비교해 더 큰 값으로 정답을 갱신한다.  💥 유의사항새롭게 만든 C를 문자열로 봤을 때 0으로 시작하는지 확인해야 한다.  🔺 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.util.*;import java.io.*; public class Main {    static String[] st..
📖 문제 https://www.acmicpc.net/problem/14620    💡  풀이 방식• 브루트포스 + 백트래킹1. 격자를 입력받는다.2. 완전탐색으로 모든 점을 확인한다. 해당 지점에서 꽃을 심을 수 있는 경우, 해당 자리와 상하좌우 자리에 대해 꽃을 심어보고, 뽑은 갯수를 +1하고, 비용을 더한 후 재귀호출한다. 그리고 다음 탐색을 위해 해당 자리와 상하좌우 자리에 대해 값을 초기화한다.   [x행 y열 위치에서 꽃을 심을 수 있는지 확인하는 함수 :  boolean isPossible(int x, int y)]꽃을 심을 수 있는 조건 - 방문한 적 없어야 함 - 4방향 탐색 시     - 꽃잎이 배열 화단 범위를 벗어나선 안 됨     - 꽃잎 자리에 다른 꽃이 핀 경우(visited..
📖 문제 https://www.acmicpc.net/problem/5972   💡  풀이 방식• 다익스트라 전형적인 다익스트라 문제다,,- 최소 여물 비용 배열을 모두 5만*1000 + 1 이상의 큰 값으로 채운다.- 그래프 정보를 양방향으로 입력받는다.- 시작점 1부터 목적지 N까지 최소 비용으로 이동하도록 다익스트라를 진행한다.  🔺 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import java.util.*;import java.io.*; public class Main {..
📖 문제 https://www.acmicpc.net/problem/17396   💡  풀이 방식• 다익스트라필요 자료구조- 시야에 보이는지 여부 나타내는 1차원 boolean형 배열- 그래프 인접 리스트- 1 ~ N-1번 분기점이 까지 0번째 분기점까지 가는 데 걸리는 최소 시간 배열 (long형)- 분기점 별 방문 표시를 나타내는 1차원 boolean형 배열  1. 각 분기점이 적의 시야에 보이는지 나타낸다.sight = new boolean[N];st = new StringTokenizer(br.readLine(), " ");for(int i = 0 ; i   2. 1 ~ N-1번 분기점이 까지 0번째 분기점까지 가는 데 걸리는 최소 시간 배열을 모두 최댓값인 Long.MAX_VALUE로 초기화한..
📖 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   💡  풀이 방식• 브루트포스1. 리스트에 val_ext보다 작은 데이터만 뽑아 저장한다.2. 해당 리스트를 sorty_by에 해당하는 값 기준으로 오름차순 정렬한다.3. 리스트를 2차원 배열로 변환한다.  + ext, sort_by 정보의 인덱스 구하는 방법을 동일하므로 메소드로 만들어 사용한다.// 배열에서 데이터의 인덱스 구하는 메소드private static int getIdx(String str) { switch(str) { case "code": return 0; ..
imname1am
한 페이지가 될 수 있게 🌟