배열 및 문자열 조작 문제

발행: (2025년 12월 13일 오전 05:59 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

배열을 다른 배열을 사용해 역순으로 만들기

class Main {
    public static void main(String[] args) {
        int[] num = {10, 11, 12, 13, 14, 15, 16};
        System.out.println("Original Array :");
        for (int i = 0; i = 0; i--) {
            result[j++] = num[i];
        }

        System.out.println();
        System.out.println("Reversed Array :");
        // print the resultant array
        for (int i = 0; i < result.length; i++) {
            System.out.print(result[i] + "  ");
        }
    }
}

제자리에서 배열을 역순으로 만들기 (스와핑 사용)

class Main {
    public static void main(String[] args) {
        int[] num = {10, 11, 12, 13, 14, 15, 16};
        System.out.println("Original Array :");
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i] + "  ");
        }
        System.out.println();

        int left = 0;
        int right = num.length - 1;
        while (left < right) {
            // swap without a temporary variable
            num[left] = (num[left] + num[right]) - (num[right] = num[left]);
            left++;
            right--;
        }

        System.out.println("Reversed Array :");
        for (int i = 0; i < num.length; i++) {
            System.out.print(num[i] + "  ");
        }
    }
}

문자열이 회문인지 확인하기

회문은 앞뒤가 같은 문자열입니다.

class Main {
    public static void main(String[] args) {
        String str = "abcdcba";
        int left = 0;
        int right = str.length() - 1;
        boolean flag = true;

        while (left < right) {
            if (str.charAt(left) != str.charAt(right)) {
                flag = false;
                break;
            }
            left++;
            right--;
        }

        if (flag) {
            System.out.println(str + " is a palindrome");
        } else {
            System.out.println(str + " is not a palindrome");
        }
    }
}
Back to Blog

관련 글

더 보기 »