no image
자바 [Algorithm] 디버깅
디버깅이란? 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로 잡는 과정을 디버깅이라 한다. 문법 오류는 컴파일러가 자동으로 찾아 주므로 테스트할 때 문제가 되지 않는다. 논리 오류는 코드가 사용자의 의도와 다르게 동작하는 것이며 다양한 형태로 발생한다. 디버깅하는 법 코드에서 디버깅하고자 하는 줄에 중단점을 설정한다. 이때 중단점은 여러 개 설정할 수 있다. 2. IDE의 디버깅 기능을 실행하면 코드 1줄씩 실행하거나 다음 중단점까지 실행할 수 읶으며, 이 과정에서 추적할 변숫값도 지정할 수 있다. 이 방법으로 변숫값이 자신이 의도한대로 바뀌는지 파악한다 3. 변숫값 이외에도 원하는 수식을 입력해 논리 오류를 파악할 수 있다.
2024.03.19
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