코딩 테스트

기본 알고리즘

orin602 2024. 12. 30. 11:24

1. 팰린드롬 문자열 확인하기

(입력의 문자열이 팰린드롬인지 확인하기)

입력 : "madam"

출력 : true

입력 : "hello"

출력 : false


테스트

package Test;

public class Palindrome {

	public static void main(String[] args) {
		String input = "madam";
		boolean isPalindrome = checkPalindrome(input);
		System.out.println("'" + input + "'은(는) 펠린드 문자열인지 : " + isPalindrome);
	}
	
	public static boolean checkPalindrome(String str) {
		if(str == null || str.isEmpty()) {
			return false;
		}
		String reversed = new StringBuilder(str).reverse().toString();
		return str.equals(reversed);
	}
}

 

결과

input에 madam, hello를 입력하고 실행 결과

 

* 팰린드롬??  앞에서 읽으나 뒤에서 읽으나 동일한 문자열.

 

* Why "madam은 true, "hello"는 false ??

madam은 뒤집어도 madam이기 때문에 true, hello는 뒤집으면 olleh이기 때문에 false

 

* String reversed = new StringBuilder(str).reverse().toString(); 

  • new StringBuilder(str) : 입력 문자열 str을 사용해 StringBuilder 객체 생성.
    < str = "madam"이면 StringBuilder("madam")이 생성 >
    << StringBuilder는 문자열을 효율적으로 수정(추가, 삭제 등)할 수 있는 클래스 >>
  • .reverse() : StringBuilder 객체의 문자열을 뒤집음.
  • .toString() : StringBuilder 객체의 문자열을 String 으로 변환해서 반환.

2. 소수 판별

(양의 정수 n이 주어졌을 때, 소수인지 아닌지 판단하는 함수 작성)

입력 : 7

출력 : true


테스트

package Test;

public class PrimeNumber {

	public static void main(String[] args) {
		int n = 7;
		boolean isPrime = isPrime(n);
		System.out.println(n + "은(는) 소수인가? : " + isPrime);
	}
	
	public static boolean isPrime(int n) {
		if(n <= 1) { // 1이하의 숫자
			return false;
		}
		for(int i = 2; i < n; i++) { // 2부터 n-1까지 반복
			if(n % i == 0) {
				return false;
			}
		}
		return true;
	}
}

 

결과

 

'코딩 테스트' 카테고리의 다른 글

SQL 테스트 (2)  (0) 2024.12.30
SQL 테스트 (1)  (0) 2024.12.30
배열 및 문자열  (0) 2024.12.30