
문제https://www.acmicpc.net/problem/2667 정답bfs 방식을 이용하였다. dfs 방식으로도 풀어보고 업데이트를 해야겠다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;class Points{ int x; int y; Points(int x, int y){ this.x = x; this.y = y; }}public class Main { static int[] dx = {-1,0,1,0}; static int[] dy = {0,1,0,-1}; static boolea..

문제https://www.acmicpc.net/problem/2178 풀이풀이의 핵심은 "최단경로"이다. bfs를 사용하여 풀었고, 이동하는 위치(1이 적힌)값을 이전의 거리 값 + 1을 하며 업데이트하며 목적지까지 이동하였다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;class Point { int x; int y; Point(int x, int y){ this.x = x; this.y = y; ..

문제https://www.acmicpc.net/problem/21610 해결시뮬레이션 문제 풀이 경험이 적던 필자는 "배열이 연결되어있다" 를 구현하기까지 많은 고민을 했었다. 아마 글을 보고 있는 다른 개발자 분들도 이 부분 구현하는 데 시간을 적지않게 쏟았으리라 생각된다. 구현 방법은 modulo 연산을 활용하는 것이다. 이 후 나머지 조건들을 충족시켜주면 된다. 자, 이제 코드를 보겠다.1. modulo 연산을 활용하여 구름의 위치를 이동한다.2. 물을 증가 시킨다.3. 구름을 사라지게 한다. (newCloud로 대체)4. 물 복사 버그를 구현한다.5. 새로운 구름을 생성한다. - 기존 구름자리가 아니어야 함(!visited) - 새로운 구름 영역의 물을 -2 시켜준다 pac..

아래와 같은 문제를 풀 경우 메모이제이션 기법을 활용하자 메모이제이션이란 이미 확인한 값이 있다면 더이상 자식 노드를 생성하지 않고 해당 값을 사용하여 불필요한 경우의 수를 고려하지 않아도 되는 기법이다. 아래 전체 코드를 보며 메모이제이션 성능을 확인하고자 한다 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;class Main { static int[][] visited; static int n , r ; public static int dfs(int n, int r){ if (n == r || r =..

문제철수는 그의 바둑이들을 데리고 시장에 가려고 한다. 그런데 그의 트럭은 C킬로그램 넘게 태울수가 없다. 철수는 C를 넘지 않으면서 그의 바둑이들을 가장 무겁게 태우고 싶다. N마리의 바둑이와 각 바둑이의 무게 W가 주어지면, 철수가 트럭에 태울 수 있는 가장 무거운 무게를 구하는 프로그램을 작성하세요. 입력첫 번째 줄에 자연수 C(1둘째 줄부터 N마리 바둑이의 무게가 주어진다. 출력첫 번째 줄에 가장 무거운 무게를 출력한다. 입력259 5 8158423361출력242 위와 같은 문제를 보면 부분 집합 문제라는 것을 알 수 있을 것이다. 즉 바둑이를 트럭에 태울 것인지, 안 태울 것인지 경우의 수를 나누어 최대 무게를 안넘기는 가장 큰 무게를 가질 수 있는 경우를 찾으면 된다. 바로 DFS를 이용하여..

코드에 문제가 있거나 해석에 오류가 있는 부분 지적해주시면 감사하겠습니다. 오랜만에 글을 쓰게 되었는데,,, 자잘자잘한 개인사는 뒤로하고 바로 문제 풀이를 해보겠다. 이번 문제는 백준 1753번 문제이고 [최단 경로] 이다. 문제 제목을 보면 유추 할 수 있듯이 Djikstra 알고리즘을 적용하여 푸는 문제이다. 문제를 쭉 읽어보면 첫 번째 줄의 입력 값은 정점(이하 노드)의 개수 V, 간선의 개수 E를 적는다. 두 번째 줄의 경우 시작 노드를 적어주고 3번째 줄~ 마지막 줄 까지는 간선의 개수 만큼 (시작 노드, 목표 노드, 비용)이 주어진다. 핵심은 비용이 모두 양수라는 것. 최단 경로를 구하는 문제에서 비용이 모두 0이상이면 다익스트라 알고리즘을 적용하면 된다. 다익스트라 알고리즘은 검색을..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 배열이 주어지고 순서에 맞게 1,2,3,1 의 값이 나오면 answer++ 한다. 그리고 이를 반복하여 answer 를 구한다. 전형적인 스택 문제이다. 코드를 작성해보자. public int solution(int[] ingredient) { int answer = 0; Stack set = new Stack(); for (int i = 0; i < ingr..

항상 문제의 조건을 유심히 파악할 것(3시간을 날렸다느뉴ㅠ) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 문제를 보고 해시맵을 사용하여 체육복이 있지만 여벌이 없는 경우 = 1 , 체육복 없는 경우 = 0, 빌려줄 수 있는 경우 = 2 로 value 를 매겨 for문을 돌아 값을 찾아 answer 에 넣어주는 식으로 코드를 짰다. public int solution(int n, int[] lost, int[] reserve) { ..
- Total
- Today
- Yesterday
- java
- java #스프링 #spring #server
- k8s object
- 백준 그림 자바
- Java #객체 #자바기초 #자바
- EB
- AWS
- k8s
- 자료구조
- 구간합구하기
- 쿠버네티스 개념
- ECR
- 무중단배포
- docker
- 마법사 상어와 비바라기 자바
- dfs
- EC2
- 백준 상자 넣기 자바
- 백준
- 행렬 테두리 회전하기 자바
- 코딩테스트
- Java #코린이 #자바
- 프로그래머스
- 자바
- StatefulSet
- 쿠버네티스 오브젝트
- 단지번호붙이기 자바
- 단지번호붙이기 JAVA
- 백준 1965 풀이
- 백준 상자넣기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |