Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 큐 자바 코드
- 서비스 쓰레드 차이
- android retrofit login
- jvm이란
- 안드로이드 os 구조
- 자바 다형성
- 클래스
- 안드로이드 유닛 테스트 예시
- 안드로이드 레트로핏 crud
- 멤버변수
- 안드로이드 유닛 테스트
- 안드로이드 레트로핏 사용법
- Rxjava Observable
- rxjava hot observable
- 서비스 vs 쓰레드
- 스택 큐 차이
- 객체
- 2022 플러터 설치
- rxjava disposable
- rxjava cold observable
- 플러터 설치 2022
- ANR이란
- android ar 개발
- 안드로이드 라이선스
- ar vr 차이
- 2022 플러터 안드로이드 스튜디오
- 안드로이드 유닛테스트란
- 안드로이드 라이선스 종류
- 스택 자바 코드
- jvm 작동 원리
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 회문 알고리즘이란? 본문
728x90
반응형
회문의 뜻은 아래와 같다.
앞에서부터 읽으나 뒤에서부터 읽으나 같은 말이 되는 어구
예를 들어 '가나다나가', '토마토', '바야바' 등의 단어가 회문이다. '가나다라나', '바나나' 등의 단어는 다른 방향으로 읽으면 회문이 아니다.
이것을 판별하는 알고리즘은 아래와 같다.
private static String test(String str) {
String answer = "회문입니다";
str = str.toUpperCase();
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return "회문이 아닙니다!";
}
}
return answer;
}
코틀린의 경우 아래처럼 작성할 수도 있다.
fun test(str: String): String {
var mStr = str
mStr = mStr.uppercase()
val len = mStr.length
for (i in 0 until (len / 2)) {
if (str[i] != str[len - i - 1]) {
return "회문이 아닙니다"
}
}
return "회문입니다"
}
반응형
Comments