안녕
-
프로그래머스 - 3진법 뒤집기알고리즘 2022. 7. 22.
내 풀이 public class P_39 { public int solution(int n) { int answer = 0; StringBuilder sb = new StringBuilder(); while(n > 0) { if(n % 3 == 0) { sb.append(0); } else { sb.append(n % 3); } n = n / 3; } String x = sb.toString(); answer = Integer.parseInt(x, 3); // parseInt() 메소드는 첫번째 인자에 String 형태의 숫자 // 두번째 인자에 몇 진수를 10진수로 변경할건지 넣어주면 된다. // 3진수를 10진수로 바꿔야 하니까 두번째 인자에 3을 넣는다. return answer; } public ..
-
프로그래머스 - 예산알고리즘 2022. 7. 21.
내 풀이 import java.util.Arrays; public class P_38 { public int solution(int[] d, int budget) { int answer = 0; int cost = 0; Arrays.sort(d); // 1 2 3 4 5 for(int i=0; i budget) { // 원소 + 원소 > 예산 break break; } else { // 예산보다 작으면 cost에 저장 answer 회수 증가 cost += d[i]; answer++; } } return answer; } public static void main(String[] args) { // 예산 P_38 p = new P_38(); int[] d = {1,3,2,5,4}; int budget = ..
-
프로그래머스 - 비밀 지도 [2018 KAKAO BLIND RECRUITMENT]알고리즘 2022. 7. 6.
내 풀이 import java.util.Arrays; import java.util.Stack; public class P_36 { public static String[] binary(int x, int n) { // 10진수 -> 2진수 변환 메소드 Stack stack = new Stack(); String[] list = new String[n]; // 2진수 저장 배열 (방크기는 한변의 길이 n) for(int i=x; i>=1; i=i/2) { // 10진수 -> 2진수로 변환 if(i%2 == 1) { stack.push("1"); } else if(i%2 == 0) { stack.push("0"); } } if(stack.size() != n) { int check = 0; for(int ..
-
Spring - Maven build 옵션들프로그래밍/Spring 스프링 2022. 7. 5.
보통 프로젝트를 war, jar로 배포할 때 war, jar 형태로 수동 export하는 경우도 있지만 Maven 프로젝트인 경우 Run As 항목의 다양한 Maven 옵션들을 이용해서도 배포가 가능하다. 그리고 Maven 옵션을 통해서는 test를 할 수 있기 때문에 단순하게 export로 뽑아 내는 것 보다 여러가지 체크가 가능 하다. 옵션 설명 clean 컴파일 결과물이 있는 target 폴더(디렉토리)에 있는 소스 삭제 해당 프로젝트안에 있는 target 폴더 package 컴파일, 테스트 수행 pom.xml의 패키징 정보에 따라 패키징을 수행함 (패키징 옵션 : war, jar) install 패키징을 수행 후, 로컬 컴퓨터 레파지토리에 패키지를 install target 폴더안 체크 test ..
-
프로그래머스 - 나머지가 1이 되는 수 찾기알고리즘 2022. 7. 4.
내 풀이 public class P_35 { public int solution(int n) { // 나머지가 1이 되는 수 찾기 int answer = 0; for(int i=2; i n % i == 1).findFirst().orElse(0); } } Stream을 활용한 풀이 방법. IntStream을 활용해서 for문 while문 처럼 반복문을 돌릴 수 있다. (Java 8 이상) range()로 반복문의 범위를 정하고, filter()로 조건을 걸고, findFisrt()를 사용해서 첫번째 요소를 반환 orElse() : 값이 null로 반환 될 시 0으로 반환 시키겠다는 뜻. - 참고 - stream은 함수비용이 적은 코드에서는 성능이 좋지 않기 때문에, 단순한 반복에선 사용하는 것은 좋지 않다.
-
프로그래머스 - 2016년알고리즘 2022. 7. 1.
내 풀이 import java.time.DayOfWeek; import java.time.LocalDate; public class P_34 { public String solution(int a, int b) { // 2016년 // 윤년 2월이 29일까지 있음 // DayOfWeek의 getValue() 메소드는 월요일=1, 일요일=7 임. String [] day = {"SUN","MON","TUE","WED","THU","FRI","SAT","SUN"}; LocalDate date = LocalDate.of(2016, a, b); // = yyyy-mm-dd DayOfWeek dayOfWeek = date.getDayOfWeek(); int ans = dayOfWeek.getValue(); Str..
-
프로그래머스 - 최소직사각형알고리즘 2022. 6. 30.
내 풀이 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class P_33 { public int solution(int[][] sizes) { // 최소직사각형 int a = 0; // 가로 int b = 0; // 세로 List width = new ArrayList(); List height = new ArrayList(); for(int i=0; i max) { max = paramMax; } if (paramMin > min) { min = paramMin; } } return max * min; } } 2차원 배열의 향상된 for문 사용법 : 배열 하나를 선언해서 돌린다. Math의 ..