코린이의 소소한 공부노트

[LeetCode/Easy] 125. Valid Palindrome 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 125. Valid Palindrome

무지맘 2022. 10. 11. 17:00

1. Input

1) 문자열 변수 s

 

2. Output

1) palindrome이면 true, 아니면 false 반환

2) palindrome은 전부 소문자로 바꾸고 알파벳, 숫자를 제외한 모든 문자(공백 포함)를 없앴을 때, 앞에서 읽으나 뒤에서 읽으나 똑같다는 뜻

 

3. Constraint

1) 1 <= s.length <= 2 * 105

2) s는 ASCII 문자로만 이루어짐

 

4. Example

Input: s = "A man, a plan, a canal: Panama"

Output: true

설명:

  - s의 문자열을 다 소문자로 바꾸고 알파벳을 뺀 나머지를 다 없애면 "amanaplanacanalpanama"이 된다.

  - 앞에서부터 읽어도 뒤에서부터 읽어도 똑같으므로 true 반환

 

5. Code

1) 첫 코드(2022/08/12)

String ss = "";
for(int i=0 ; i<s.length() ; i++){
    String c = s.charAt(i)+"";
    if(c.matches("[A-Z]"))
        ss += c.toLowerCase();
    else if(c.matches("[a-z0-9]"))
        ss += c;
    }
for(int i=0 ; i<ss.length() ; i++)
    if(ss.charAt(i)!=ss.charAt(ss.length()-1-i))
        return false;
return true;