UpDown Dev Story
알고리즘 연습 - 특정 문자 뒤집기 본문
아래 강의를 보면서 연습하고 기록하고 있습니다
문제
소스코드
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String inputString = sc.next();
char[] returnValue = inputString.toCharArray();
int lt = 0;
int rt = inputString.length() - 1;
while (lt < rt) {
if (!Character.isAlphabetic(returnValue[lt])) {
lt++;
} else if (!Character.isAlphabetic(returnValue[rt])) {
rt--;
} else {
char tmp = returnValue[lt];
returnValue[lt] = returnValue[rt];
returnValue[rt] = tmp;
lt++;
rt--;
}
}
System.out.println(returnValue);
}
정답해설
- 사용자에게 문자를 입력받고
- while loop 를 돌린다 (lt가 rt보다 작으면)
- 사용자가 입력한 문자에서 제일 왼쭉부터 검색한다
- 알파벳이 아니면 한칸 오른쪽으로 이동
- 사용자가 입력한 문자에서 제일 오른쪽부터 검색한다
- 알파벳이 아니면 한칸 왼쪽으로 이동
- 둘다 알파벳이 아니면 자리를 스왑하고 한칸씩 이동한다
'Algorithm' 카테고리의 다른 글
알고리즘 연습 - 회문 문자열 (0) | 2021.05.23 |
---|---|
알고리즘 연습 - 중복문자제거 (0) | 2021.05.21 |
알고리즘 연습 - 단어 뒤집기 (0) | 2021.05.21 |
알고리즘 연습 - 문장 속 단어 (0) | 2021.05.21 |
알고리즘 연습 - 대소문자 변환 (0) | 2021.05.20 |
Comments