일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- DEFAULT
- JavaSwing
- sql
- 자바연산자
- DTO
- mvc디자인패턴
- 데이터베이스
- DB
- oracle developer
- 메이븐업데이트
- java접근제어자
- JSP
- break
- 오라클
- Vo
- DAO
- DATABASE
- C#접근제어자
- 자바
- o(log n)
- DB 제약조건
- Oracle
- O(n)
- 접근제한자
- Oracle SQL Developer
- java
- 빅오표기법
- C#접근제한자
- C언어 표준 라이브러리
- oracle db
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
문자열 Palindrome(회문(回文) 퀴즈 본문
0912수업내용_
Palindrome(회문(回文))
사용자가 단어를 입력하면 해당 단어가 좌우대칭인지 판별해주는 프로그램을 만들어보세요.
해결방법
1> 맨 앞부터 글자를 하나씩 비교해 나간다(절반까지만)
2> 단어를 뒤집고 비교해서 똑같으면 좌우대칭이다
// String reverse = word(word.charAt(word.length() - 1 - word.length())); // >> word에 에러뜸
//
// if(word == reverse) {
// System.out.println("회문입니다.");
// } else {
// System.out.println("회문이 아닙니다");
// }
/*
거꾸로 :
System.out.println();
for (int i = 0; i < str.length(); ++i) {
System.out.print(str.charAt(str.length() - 1 - i));
}
제대로:
for (int i = 0; i< text2.length();++i) {
char c = text2.charAt(i);
System.out.print(text2.charAt(i));
}
이 두 for 문이 같다면 "좌우대칭입니다." 다르다면 "좌우대칭이 아닙니다."
*/
}
}
For문 안에 계속 돌려서 3번 이상 숫자가 나오는 것…
for문 밖으로 빼야한다.
=====> 풀이법 3가지
1. 단어의 맨 앞 인덱스부터 절반 인덱스까지 만 검사
2.단어를 뒤집고 비교해서 똑같으면 좌우대칭이다
++)
String reversed = "";
// " "; 이렇게 공백이 있도록 설정을 해서 뒤집은 문자열 reversed를 초기화할 때 공백 문자열로 시작하고,이후에 문자를 추가하는 방식으로 진행된 것
// 그렇게 되면 뒤집은 문자열의 첫 번째 문자가 공백이 되어버림 으로 자꾸 좌우대칭이 아니라고 나온 것이다.
for (int i = 0; i < len; ++i) {
reversed += word.charAt(len - 1 - i);
}
System.out.printf("원래글자 %s, 뒤집은글자 %s\n", word, reversed);
if (word.equals(reversed)) {
System.out.println("좌우대칭입니다.");
} else {
System.out.println("좌우대칭이 아닙니다.");
}
3. boolean 타입풀이
'백엔드개발 > JAVA Quiz. zip' 카테고리의 다른 글
문자열 Include Uppercase & Include E Quiz (1) | 2023.11.09 |
---|---|
문자열 Changecase 퀴즈 (0) | 2023.11.09 |
JAVA for문 QUIZ 4> (0) | 2023.10.26 |
JAVA FOR QUIZ 3> (0) | 2023.10.26 |
JAVA - for문 Quiz 1,2> (0) | 2023.10.26 |