no image
선택 정렬
선택 정렬 선택정렬은 n개의 레코드 중에서 최솟값을 찾아 첫 번째 레코드 위치해 놓고, 나머지 (n-1) 개중에 다시 최솟값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식입니다. 정렬 과정 배열의 첫 번째 요소부터 시작하여 그다음 요소들과 비교합니다. 현재 위치의 요소를 기준으로, 그 이후의 모든 요소들과 비교하여 최솟값을 찾습니다. 최솟값을 찾으면 해당 값과 현재 위치의 값을 교환합니다. 이러한 과정을 배열의 마지막 요소까지 반복합니다. Java Code public class SelectionSort { public static void selectionSort(int[] arr) { int n = arr.length; // 배열의 모든 요소를 순회하며 정렬 수행 for (int ..
2023.12.05
no image
binSearch
문제 이진 검색 과정을 자세히 출력하는 프로그램 작성하세요 각 행의 맨 왼쪽에 현재 선택한 요소의 인덱스를 출력하고, 검색 범위의 첫 요소위에 , 현재 선택한 중양 요소위에 +를 출력하세요. package Basic.Chap03; import java.util.Scanner; public class BinSearch2 { static int binSearch(int[] a, int n, int key) { System.out.print(" |"); for (int k = 0; k < n; k++) { System.out.printf("%4d", k); } System.out.println(); System.out.print("---+"); for (int k = 0; k < 4 * n + 2; k++){..
2023.12.04
no image
버블정렬
버블정렬 간단하지만 비효율적인 정렬 알고리즘이며 이 알고리즘은 인접한 두 원소를 비교하고 필요에 따라 서로 위치를 교환하고 리스트를 정렬합니다. 이름이 버블 정렬로 된 유래는 정렬 과정 속에서 이동하는 모습이 거품이 수면에 올라온 모습으로 보여 버블 정렬, 거품 정렬이라고 합니다. 정렬 과정 1. 전체 배열을 순회합니다. 2. 인접한 두 원소를 비교합니다 첫 번째 원소와 두 번째 원소를 비교하고, 필요에 따라 위치를 교환합니다. 이후 두 번째 원소와 세 번째 원소를 비교하고, 필요에 따라 위치를 교환합니다. 이 과정을 마지막 원소까지 진행합니다. 이 단계가 끝나면 가장 큰 원소가 배열의 맨 끝으로 이동하게 됩니다. 3. 위 과정을 반복합니다 다시 배열의 처음부터 끝까지 돌면서 인접한 두 원소를 비교하고 ..
2023.11.21
no image
최댓값 만들기(1)
실행코드 첫 번째 코드 class Solution { public int solution (int[] numbers) { Arrays. sort(numbers); return numbers[numbers.length-1]*numbers[numbers.length-2]; } } 첫 번째 코드로 풀었지만 너무 날로 먹는 코드 같아서 다른 풀이 방식 추가합니다. 두 번째 코드 class Solution { public int solution(int[] numbers) { int answer = 0; int max = 0; for(int i = 0; i < numbers.length; i++) { for (int j = i + 1; j < numbers.length; j++) { if (numbers[i] * ..
2023.10.03
no image
점의 위치 구하기
실행코드 class Solution { public int solution(int\[\] dot) { int x = dot\[0\]; int y = dot\[1\]; int answer = 0; if (x > 0 && y > 0) { System.out.println("제1사분면"); answer = 1; } else if (x 0) { System.out.println("제2사분면"); answer = 2; } else if (x 0 && y < 0) { System.out.println("제4사분면"); answer = 4; } else { System...
2023.09.30
no image
가위 바위 보
실행 코드 class Solution { public String solution(String rsp) { String answer = ""; for (int i = 0; i < rsp.length(); i++) { char a = rsp.charAt(i); if (a == '2') { answer += '0'; } else if (a == '0') { answer += '5'; } else { answer += '2'; } } return answer; } } 코드분석 String answer = " " : 변수 초기화를 나타내며 문자열 타입의 변수 answer를 선언하고 빈 문자열로 초기화 for (int i = 0; i < rsp.length(); i++) **:** for문을 이용하여 rsp의 각..
2023.09.26
no image
문자열 뒤집기
문자열 뒤집기 실행 코드 class Solution { public String solution(String my\_string) { String answer = ""; for (int i = my\_string.length() - 1; i >= 0; i--){ answer += my\_string.charAt(i); } return answer; } }코드 분석 answer = ""; 빈 문자열을 초기화합니다. 이 문자열은 뒤집힌 문자열을 저장하는 데 사용 **for (int i = my_string.length() - 1; i >= 0; i--)**for 루프를 사용하여 입력 문자열 my_string의 문자를 역순으로 순화하며 루프는 문자열의 마지막 문자부터 시작하여 첫 번째 문자까지 역순으로 이동 ..
2023.09.21
no image
배열 뒤집기
실행 코드 class Solution { public int \[\] solution(int \[\] num\_list) { int length = num\_list.length; int\[\] reversedArray = new int \[length\]; for (int i = 0; i < length; i++) { reversedArray\[i\] = num\_list \[length - 1 - i\]; } return reversedArray; } }코드 분석 int length = num_list.length;num_list의 길이 측정 Int[] reversedArray = new int [length];입력배열과 동일한 길이의 정수 배열인 reversedArray를 생성합니다. for (in..
2023.09.20
no image
배열 두 배 만들기
배열 두 배 만들기 실행 코드 class Solution { public int \[\] solution(int \[\] numbers) { int\[\] answer = new int \[numbers.length\]; for (int i=0; i < numbers.length; i++) { answer\[i\] = (numbers \[i\]\*2); } return answer; } }코드 분석 int\[\] answer = new int \[numbers.length\]; 입력 배열인 numbers와 동일한 길이를 가진 정수 배열 answer를 생성하고 이 배열은 함수의 반환값으로 사용됩니다. for (int i = 0; i< nubmer.length; i++)반복문으로 입력배열 numbers에 접..
2023.09.20