배열 및 문자열 조작 문제
발행: (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");
}
}
}