no image
자바 [Algorithm] 시간 복잡도
1.1 시간 복잡도 표기법 알아보기 시간 복잡도란? 알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다. 일반적으로 수행시간 1억번의 연산을 1초의 시간으로 간주하여 예측한다. 시간 복잡도 정의하기 Big-Omega(Ω) : 최선일 때(Best Case)의 연산 횟수를 나타낸 표기법 Big-Theta(θ) : 보통일 때(Average Case)의 연산 횟수를 나타낸 표기법 Big-O : 최악일 때(Worst Case)의 연산 횟수를 나타낸 표기법 코딩테스트에서의 시간 복잡도 사용 유형은? 코딩테스트에서는 Big-O 표기법을 기준으로 수행 시간을 계산하는 것이 좋다. 다양한 테스트 케이스를 수행해 모든 케이스를 통과해야만 합격으로 판단하므로 시간 복잡도를 판단할 때는 최학일 때(Wo..
2024.03.16
no image
자바 [Programmers] 1단계 - 부족한 금액 계산하기 (Math.abs())
class Solution { public long solution(int price, int money, int count) { long answer = 0; long temp = 0; for (int i=1; i
2024.03.12
no image
자바 [Programmers] 1단계 - 문자열 내림차순으로 배치하기 (split(), Arrays.sort(), Collection.reverseOrder())
import java.util.*; class Solution { public String solution(String s) { String answer = ""; String[] str = s.split(""); Arrays.sort(str, Collections.reverseOrder()); for(String a : str){ answer += a; } return answer; } } https://dongyeop00.tistory.com/18 자바 [Programmers] 1단계 - 정수 내림차순으로 배치하기 import java.util.*; class Solution { public long solution(long n) { long answer = 0; String[] str = Long...
2024.03.12
no image
자바 [Programmers] 1단계 - 약수의 개수와 덧셈
class Solution { public int solution(int left, int right) { int answer = 0; int count = 0; //약수 개수 for(int i=left; i
2024.03.08
no image
자바 [Programmers] 1단계 - 가운데 글자 가져오기
class Solution { public String solution(String s) { String answer = ""; int length = s.length(); int index = length/2; if(length % 2 == 0){ answer += s.charAt(index-1); answer += s.charAt(index); }else{ answer += s.charAt(index); } return answer; } } 1. 매개변수 문자열 s의 길이를 구한다. 2. 길이가 짝수이면 2개의 문자를 받아야하는데 그 값은 (길이/2 -1) 값과 (길이/2)값을 문자열에 추가해주면 된다. 3. 길이가 홀수이면 길이의 /2 한 인덱스 값만 가져오면 된다.
2024.03.08
no image
자바 [Programmers] 1단계 - 수박수박수박수박수박수?
class Solution { public String solution(int n) { String answer = ""; for(int i=0; i
2024.03.08
no image
자바 [Programmers] 1단계 - 내적
class Solution { public int solution(int[] a, int[] b) { int answer = 0; for(int i=0; i
2024.03.08
no image
자바 [Programmers] 1단계 - 제일 작은 수 제거하기
class Solution { public int[] solution(int[] arr) { int[] answer = new int[arr.length-1]; int min = arr[0]; int index = 0; if(arr.length == 1){ return new int[] {-1}; } for(int i : arr){ min = Math.min(min, i); } for(int i = 0; i < arr.length; i++){ if(min == arr[i]) continue; else answer[index++] = arr[i]; } return answer; } } 1. 먼저 값이 10이 들어있으면 -1을 return 해줘야하기 때문에 문자열 길이가 1이면 배열 -1을 return한다...
2024.03.08
no image
자바 [Programmers] 1단계 - 핸드폰 번호 가리기
class Solution { public String solution(String phone_number) { String answer=""; for(int i=0; i
2024.03.08