✔️문제
- 입력된 수가 팰린드롬인치 판별하시오.
- 입력 : 12321
- 정답: True
📍정답
package _17_palindrome;
public class Main {
public static void main(String[] args) {
String n = "12321";
int len = n.length();
boolean flag = true;
for (int i = 0; i < len/2; i++) {
if (n.charAt(i) != n.charAt(len-i-1)) {
flag = false;
}
}
System.out.println(flag);
}
}
package _17_palindrome;
import java.util.Scanner;
public class Main2 {
public static void main(String []args){
Scanner in = new Scanner(System.in);
System.out.print("입력: ");
int n = in.nextInt();
int n1 = n; // 원래 숫자를 보존하기 위해 n1에 복사
int n2 = 0; // 뒤집은 숫자를 저장할 변수, 초기값은 0
while(n1 > 0){
n2 = n2 * 10 + n1 % 10; //기존에 뒤집힌 숫자에 현재 자리 숫자를 추가 (자리수 조정)
n1 /= 10; //n1에서 마지막 자리를 제거
}
// 원래 숫자 n과 뒤집은 숫자 n2가 같으면 Palindrome
if(n == n2){
System.out.print("True");
}
else{
System.out.print("False");
}
}
}
왜 n2 * 10을 해야 할까?
- n1 % 10 → 현재 n1의 마지막 자리 숫자를 가져옴
- n2 * 10 → 기존 n2를 한 자리 수 앞으로 이동(기존 자리 숫자를 왼쪽으로 이동)
- + n1 % 10 → 새로운 숫자를 맨 끝에 추가
'개발인생 > Altorithm' 카테고리의 다른 글
| [알고리즘 기초 100제] 19. 평균은 넘겠지 (0) | 2025.03.14 |
|---|---|
| [알고리즘 기초 100제] 18. 문자열 뒤집기 (0) | 2025.03.14 |
| [알고리즘 기초 100제] 16. 중복된 수 제거하기 (1) | 2025.03.12 |
| [알고리즘 기초 100제] 15. 369게임 (0) | 2025.03.12 |
| [알고리즘 기초 100제] 14. 거듭제곱 (0) | 2025.03.12 |