class Solution {
public int[] solution(int n, int m) {
int gcd = GCD(n, m);
int lcm = n*m / gcd;
return new int[]{gcd, lcm};
}
public int GCD(int x, int y){
if(x%y==0) return y;
return GCD(y, x%y);
}
}
import java.util.*;
class Solution {
boolean solution(String s) {
//예외 상황 미리 처리하기
if( s.length()%2==1) return false;
// s = s.replaceAll("()", "");
// if(s.length()==0) return true;
char[] arr = s.toCharArray();
int count =0;
for(int i=0; i<arr.length; i++){
if(arr[i]=='(') count++;
else count--;
if(count <0) return false;
}
return count==0;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
//입력값 받기
int num = Integer.parseInt(br.readLine());
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
//인출 시간의 최소 합 구하기 -> 첫 번째부터 n-1번째 까지의 누적 합이 적은 순서 -> 작은 순서로 정렬
int[] times = new int[num];
for(int i=0; i<num; i++){
times[i] = Integer.parseInt(stringTokenizer.nextToken());
}
Arrays.sort(times);
int answer = 0;
for(int i=0; i<num; i++){
answer += times[i] * (num-i);
}
System.out.println(answer);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //선언
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int num = Integer.parseInt(stringTokenizer.nextToken());
int k = Integer.parseInt(stringTokenizer.nextToken());
stringTokenizer = new StringTokenizer(br.readLine());
int[] nums = new int[num];
for(int i=0; i<num; i++){
nums[i] = Integer.parseInt(stringTokenizer.nextToken());
}
Arrays.sort(nums);
System.out.println(nums[k-1]);
}
}
정렬 문제에서 자주 출제된다는 퀵 정렬과 병합 정렬 문제에서 오늘 막혔다.
손으로 풀어봐야겠다.
SQL 공부도 시작했다.
이번주는 아프기도 하고 일정도 있어서 공부량이 좀 적었다.
다음주는 더 열심히 해야겠다. 🔥🔥🔥🔥🔥