자바 문자열 내림차순으로 배치하기 관련질문

자바 문자열 내림차순으로 배치하기 관련질문

작성일 2023.10.24댓글 2건
    게시물 수정 , 삭제는 로그인 필요

public class ReverseStr {
public String reverseStr(String str) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
for (int j = i + 1; j < chars.length; j++) {
if (chars[i] < chars[j]) {
char temp;
temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;
}
}
}
return new String(chars);
}
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("Zbcdefg"));
}
}
실행결과 : gfedcbZ

문제 : str에 나타나는 문자를 큰것부터 작은순으로 정렬해 새로운 String을 반환해라.
str은 영문대소문자로만 구성됐고 대문자는 소문자보다 작은것으로 간주.

이 코드안에서

if (chars[i] < chars[j]) {
char temp;
temp = chars[i];
chars[i] = chars[j];
chars[j] = temp;

이 부분이 이해가 되질않습니다.

문자마다 문자 고유의번호가 있어서 크고 작음을 비교할 수 있다고 알고있는데요.

이해가안되는부분은 chars배열에 i 와 j 를 넣고 그값이 i 가 j 보다 작을때
temp에 chars[i] 값을넣고
 chars[i]에  chars[j]를 넣고
 chars[j]에 temp를 넣는다고 되어있는데요
이게 대체 무슨말인가요,,,

전문가님들의 고견이 필요합니다... 하트





#자바 문자열 자르기 #자바 문자열 비교 #자바 문자열 #자바 문자열 길이 #자바 문자열 뒤집기 #자바 문자열 배열 #자바 문자열 포함 #자바 문자열 합치기 #자바 문자열 정렬 #자바 문자열 입력

profile_image 익명 작성일 -

서로 값을 바꾼다는 의미입니다

chars배열에 i 와 j 를 넣고 그값이 i 가 j 보다 작을때

chars[i] => temp

chars[j] => chars[i]

temp => chars[j]

즉 두개의 변수값을 서로 바꿀려면 빈 변수에 넣고 이동을 해야 됩니다

A , B 물컵에 물을 서로 바꿔서 이동 시키려면 빈 물컵이 하나 있어야 가능하겠지요!

profile_image 익명 작성일 -

안녕하세요. 코리아IT아카데미 노원지점 멘토입니다.

if (chars[i] < chars[j]) {

char temp;

temp = chars[i];

chars[i] = chars[j];

chars[j] = temp;

이 코드 부분을 설명 드리면

  1. if (chars[i] < chars[j])는 현재 i 위치의 문자가 j 위치의 문자보다 작다면 조건이 참입니다. 즉, ASCII 또는 유니코드 값으로 비교하면 i 위치의 문자가 j 위치의 문자보다 작은 경우입니다.

  2. char temp; temp = chars[i];는 임시 변수 temp를 선언하고 temp에 현재 i 위치의 문자를 복사합니다.

  3. chars[i] = chars[j];i 위치의 문자를 j 위치의 문자로 덮어쓰기합니다.

  4. chars[j] = temp;j 위치의 문자에 이전에 temp로 복사한 i 위치의 문자를 할당합니다. 이로써 ij 위치의 문자가 교환됩니다.

  5. 이 뒤로는 이제 반복문 돌면서 정렬이 되겠죠.

nowon-koreaitacademy.net

자바 관련 질문드립니다.

... // 컨텐트팬에 배치관리자 제거 JButton b = new ; // "click" 문자열의 버튼 컴포넌트 생성 ; // 버튼의 크기를 100x30으로 조절 ; // 버튼의...

자바프로그램 질문 Component

자바프로그램 질문 Component 클래스와 관련없는것은? 1JButton 2 JTextField 3 Label 4 FlowLayout 자바가 제공하지않는 배치관리자는? 1 BoderLayout 2...

문자열 비교 후 처리문

도스의 배치파일관련 질문입니다. 먼저 파일은 v.... txt 에 badsector 문자열이 있습니다. :END ECHO v.txt 에... N값 조회 순서를 내림차순으로 하는 이유는...

자바 comparable관련 질문

... 숫자의 경우 수의 크기에 따라 정렬이 가능하고 문자열의 경우... 여기에서 음수를 반환하게 되면 오름차순, 양수를 반환하게 되면 내림차순으...

자바 스윙

다음코딩중 질문사항이 있어 문의 드립니다.... 컨텐트판의 Layout(컴포넌트의 배치 상태)를... 이벤트와 관련문자열을 반환합니다....

자바 gui질문이요

... // 포인트 입력란 -> 추후 문자열을... //검색관련 페널 JScrollPane abc = new JScrollPane... 참고로이방법은수동으로자리배치할때쓰는...