일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Error fetching remote repo 'origin'
- 별자리 만들기
- 이산수학
- 18222
- to display the conditions report re-run your application with 'debug' enabled
- 날짜일수
- CMD
- 21278
- docker
- EC2
- Java
- documentationpluginsbootstrapper
- 이클립스
- Error
- 2108_통계학
- 14466
- 백준
- 호석이두마리치킨
- 설정
- 20055
- SpringBoot
- dockercompose
- 알고리즘
- jenkins
- 자바
- 2167. 2차원 배열의 합
- 투에모스문자열
- 소가길을건너간이유6
- 프로그래머스
- Eclipse
- Today
- Total
목록분류 전체보기 (82)
계단을 오르듯이
'+' 와 '-' 를 모든 경우에 대입하여 알아보는 문제이므로, 부분집합을 이용해서 선택되면 +를 안되면 -를 연산하도록 했다. class Solution { static int count; public int solution(int[] numbers, int target) { int answer = 0; boolean[] add = new boolean[numbers.length]; subset(0,add,numbers,target); answer = count; return answer; } private static void subset(int cnt, boolean[] add, int[] numbers, int target){ if(cnt == numbers.length){ int sum = 0;..
소수 찾기에서 2부터 시작하여 해당 num의 루트 Math.sqrt(num)까지를 포함해 구하였다. HashSet 자료구조를 이용해 개수를 구하였다. import java.util.*; class Solution { static Set set = new HashSet(); public int solution(String numbers) { int answer = 0; int len = numbers.length(); boolean[] visited = new boolean[len]; int[] choice = new int[len]; for(int i=1;i
처음에는 먼저 비교 후 길이가 다를시 어떻게 비교를...하지...하다가 고민끝에 정답을 찾아보았다. 오..역시..천재들이 많다....! 비교하는 값 A와 B를 앞뒤로 더해서 내림차순을 구한다!!! 주의!! 문제에서는 0 또는 양의 정수라고 나와있다. 따라서 모든 수가 0만이 존재할 때 000... 이 될 수 있음을 유의하여 0만을 출력하도록 하는 조건문을 추가해야한다. 언제나 문제는 잘 읽고 문제 속에서 모든 경우의 수를... 생각해야하는 알고리즴~! import java.util.*; class Solution { public String solution(int[] numbers) { String answer = ""; String[] str = new String[numbers.length]; for..
스택을 이용해 풀이하였다. 여기서 가장 중요했던 것!!! Math.round() 는 long을 반환하므로 (int) Math.round()로 형변환을 해주어야 int형이 된다는 것. 두번째, Math.round()는 반올림!!!! 이 문제에서는 반올림이 아닌 0.1의 소수점이 존재해도 올림을 해주어야 하는 날짜 계산이기에 Math.ceil()을 이용해야 했다!!! Math.ceil()은 무조건 올림이다. 날짜 계산은 100에서 작업완성도를 빼준 후 작업속도로 나누어 나머지가 발생하면 올림을 하여 날짜를 구하였다. 해당 일자가 현재 스택 안에 있는 날짜보다 크면 스택에 있는 작업을 빼주고, 같거나 작을 시 다시 스택에 넣어주었다. 스택에 들어있는 작업들은 모두 한번에 완성될 작업들을 의미한다. 마지막 스택..
조합의 기본적인 문제이지만,, 새벽에 풀어서 그런가 문제를 잘못읽고 쉽지 않게 푼.. 문제..ㅎㅎ..ㅠㅠ 우선, 배열의 2차원에 종류가 들어오고 중복 체크를 위해 Map을 사용하였다. 예를 들어, 상의, 하의, 모자의 종류가 있다고 한다면 각각 하나씩 입을수도 있고, 3가지 종류 중 하나만 입을수도 있다. 이 부분을 위해 각 종류의 가짓수에 +1을 해주어 입지 않을 경우를 추가해주었다. 그 후 모든 경우의 수를 구하기 위해 모든 가짓수를 곱한 후 모든 가짓수에서 하나도 선택되지 않았을 경우 1번을 빼주면 된다. import java.util.*; class Solution { public int solution(String[][] clothes) { int answer = 0; Map map = new ..
- 문제를 잘 읽자!! 오늘도 깨달음..!! - 주석으로 설명을 대신한다. - 최소 거리를 구하는게 핵심~! import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B_17135_캐슬디펜스2 { static int result = Integer.MIN_VALUE; static int count; public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = ..
- 주석으로 설명을 대신한다. - 역시 .. 상어는 쉽지 않아~ import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class B_17143_낚시왕 { static List shark; static int R, C, M, result; static int[][][] arr; // 상어크기, 인덱스 static boolean[] eat; public static void main(String[] args) throws Exception { BufferedReader in = new..
- 주석으로 설명을 대신한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.StringTokenizer; public class B_17144_미세먼지안녕 { static int[][] dir = { { -1, 0 }, { 1, 0 }, { 0, -1 }, { 0, 1 } }; static int R, C, T; static int[][] arr; static List airCleaner = new ArrayList();..