[Programmers] LV2. 피보나치 수
//LV2. 피보나치 수 public static int solution_fibonacci(int n) { List fibo = new ArrayList(); fibo.add(0); fibo.add(1); while(fibo.size()
//LV2. 피보나치 수 public static int solution_fibonacci(int n) { List fibo = new ArrayList(); fibo.add(0); fibo.add(1); while(fibo.size()
//LV2. 숫자의 표현 public static int solution_expression_number(int n) { int answer = 1; int s = 1,e = 2; while(s < e){ int sum = 0;//IntStream.rangeClosed(s,e).sum(); for(int i=s;i n) s++; else if(sum == n){ answer++; s++; e++; } else e++; } return answer; }
//LV2.최솟값과 최대값 public String solution_min_max_value(String s) { int[] arr = Arrays.stream(s.split(" ")).map(Integer::valueOf).sorted().mapToInt(a->a).toArray(); return arr[0]+" "+arr[arr.length]; }
//LV2. 가장큰수 public static String solution_max_int(int[] numbers) { String answer = Arrays.stream(numbers).boxed() .sorted(Comparator.comparing(String::valueOf,(a,b) -> (b+a).compareTo(a+b))) .map(String::valueOf) .collect(Collectors.joining()); return answer.charAt(0)=='0'?"0":answer; }
// LV2. 행렬테두리 회전하기 public static int[] solution_matrix_rotation(int rows,int columns,int[][] queries){ int[][] matrix = new int[rows][columns]; IntStream.range(0,rows).forEach(i->IntStream.range(0,columns).forEach(j-> matrix[i][j] = i*columns+j+1)); return IntStream.range(0, queries.length).map(i -> rotate_matrix(rows,columns,matrix,queries[i])).toArray(); } public static int rotate_matrix(int r..
// LV2. JadenCase 문자열 만들기 public static String solution_jadenCase(String s) { String answer = Arrays.stream(s.split(" ")) .map(a -> a.length()!=0 ? a.split("")[0].toUpperCase()+a.substring(1).toLowerCase():"") .collect(Collectors.joining(" ")); answer = " ".equals(s.substring(s.length()-1))?answer+" ":answer; return answer; }
// LV2. n개의 최소공배수 public static int solution_lcm(int[] arr) { int answer = 1; for (int i=0;i
// LV2. 거리두기 확인하기 public static int[] solution_keepDistance(String[][] places) { int[] answer = new int[]{1,1,1,1,1}; for(int i=0;i