정보처리기사 실기 기본 알고리즘 공부
✔ 아래는 자바(Java)를 사용하여 1부터 100까지의 소수를 찾아 합계를 구하는 예제입니다.
public class PrimeNumberSum {
public static void main(String[] args) {
int sum = 0; // 소수의 합계를 저장할 변수
for (int num = 2; num <= 100; num++) { // 1은 소수가 아니므로 2부터 시작
boolean isPrime = true; // 소수인지 여부를 저장할 변수
// 소수인지 검사
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) { // 나누어 떨어지면 소수가 아님
isPrime = false;
break;
}
}
if (isPrime) { // 소수인 경우 합계에 더함
sum += num;
}
}
System.out.println("1부터 100까지의 소수의 합계: " + sum);
}
}
1. 1부터 100까지의 수를 검사하여 소수인지를 판별하고,
2. 소수인 경우 sum 변수에 더해 합계를 계산합니다.
3. 소수인지를 판별하기 위해 두 번째 for 루프에서 2부터 해당 숫자의 제곱근까지의 수로 나누어 떨어지는지를 검사
4.. 나누어 떨어진다면 소수가 아니므로 isPrime 변수를 false로 설정하고 루프를 종료합니다.
5. 소수인 경우에만 sum 변수에 더해 합계를 계산하여 출력합니다.
✔ 아래는 자바(Java)를 사용하여 문자열을 뒤집는 예제입니다. 이 예제에서는 StringBuilder를 사용하여 문자열 뒤집기
public class StringReverse {
public static void main(String[] args) {
String originalString = "Hello, World!"; // 뒤집을 문자열
// 문자열을 뒤집기 위해 StringBuilder 객체 생성
StringBuilder reversedStringBuilder = new StringBuilder();
for (int i = originalString.length() - 1; i >= 0; i--) {
reversedStringBuilder.append(originalString.charAt(i));
}
String reversedString = reversedStringBuilder.toString();
System.out.println("Reversed String: " + reversedString);
}
}
1. 위의 예제에서는 originalString 변수에 뒤집을 문자열인 "Hello, World!"를 저장합니다.
2. StringBuilder 객체를 생성하여 문자열을 뒤집기 위해 for 루프를 사용합니다
3. originalString의 마지막 문자부터 처음 문자까지 순서대로 charAt() 메소드를 사용하여 가져와
4. reversedStringBuilder에 append() 메소드로 추가합니다.
5. toString() 메소드를 호출하여 StringBuilder 객체의 내용을 문자열로 변환한 뒤
6. reversedString 변수에 할당하여 뒤집힌 문자열을 얻습니다.
✔ 아래는 자바(Java)를 사용하여 버블 정렬(Bubble Sort)을 구현한 예제입니다.
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 9, 1, 5, 6}; // 정렬할 배열
System.out.println("정렬 전 배열: ");
printArray(arr);
bubbleSort(arr);
System.out.println("\n정렬 후 배열: ");
printArray(arr);
}
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 두 원소를 교환
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
1. bubbleSort() 메소드를 구현하여 버블 정렬 알고리즘을 사용하여 배열을 정렬합니다.
2. 두 인접한 원소를 비교하여 큰 원소를 뒤로 보내는 방식으로 정렬이 이루어집니다.
3. printArray() 메소드는 배열을 출력하는 간단한 보조 메소드로 사용되었습니다.
4. arr 배열은 정렬할 원소들이 저장되어 있으며
5. bubbleSort() 메소드를 호출하여 이 배열을 정렬한 뒤 출력합니다.