1. 사용자로부터 입력받은 문자가 회문(PALIDNROME) 일 경우와 아닐 때 구분하는 알고리즘
(회문은 쉽게 설명해서 데칼코마니 단어라고 생각하면 된다 / MOM / BOB / ABCBA.. )
(잘못된 예시입니다 따라하지 마세요!!)
처음에는 사용자로부터 입력받은 문자열을 String으로 user 안에 넣은 후에, 문자열에 가운데까지만 확인하는 반복문을 생성하고
그 안에 가정문을 사용하여
0 인덱스부터 출발 == 맨뒤에서 출발 이 같다면 회문을 출력하게끔 로직을 구성하였는데,
이렇게 코드를 짤 경우 MOM 같은 단어는 PALIDNROME이 한번 출력되지만
ABCBA 같은 경우는 PALIDNROME이 두 번 출력된다
즉, 반복되는 단어가 있을수록 PALIDROME도 추가적으로 출력된다는 문제점이 있었다
정확한 정답은 밑에 사진 참고!
만약에 입력받은 값이 apple이라고 했을 때
String reverse = ""; -> reverse를 공백으로 만들어 놓는다
그 후에 반복문을 사용하여 apple 인덱스를 맨 뒤에 글자부터 하나씩 꺼내서 reverse에 넣는다
쉽게 설명하면, apple의 e부터 a까지 하나씩 꺼내서 붙여 넣은 것이 reverse라고 생각하면 된다
반복문을 돌고 난 후에는 reverse = "elppa"; 로 값이 채워질 거고
equals 함수를 사용해 처음 apple과 비교하는 알고리즘!
2. 사용자로부터 입력받은 문자열을 거꾸로 출력하기
Scanner를 통해 사용자로부터 입력받은 문자열을 String으로 user 값에 넣어 놓는다
반복문을 통해서 user의 마지막 글자부터 0번째 글자까지 반복하게 구성하고
user.charAt(index)로 거꾸로 출력한다
'TIL > Java' 카테고리의 다른 글
Basic Algorithm 6th (0) | 2021.08.03 |
---|---|
Basic Algorithm 5th (0) | 2021.08.02 |
Basic Algorithm 4th (0) | 2021.08.02 |
Basic Algorithm 2nd (0) | 2021.08.02 |
Basic Algorithm 1st (0) | 2021.08.02 |