Coding Planet
8. ์ ํจํ ํฐ๋ฆฐ๋๋กฌ (Palindrome) - replaceAll ๋ณธ๋ฌธ
๐ ์ฝ๋ฉํ
์คํธ/์๊ณ ๋ฆฌ์ฆ
8. ์ ํจํ ํฐ๋ฆฐ๋๋กฌ (Palindrome) - replaceAll
jhj.sharon 2023. 5. 8. 14:11๋ฐ์ํ
1. ๋ฌธ์ ์๊ตฌ์ฌํญ
- ๋ฌธ์์ด์ด ์ ๋ ฅ๋๋ฉด ํด๋น ๋ฌธ์์ด์ด ํฐ๋ฆฐ๋๋กฌ์ด๋ฉด "YES", ์๋๋ฉด “NO"๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
- ๋จ ํ๋ฌธ์ ๊ฒ์ฌํ ๋ ์ํ๋ฒณ๋ง ๊ฐ์ง๊ณ ํ๋ฌธ์ ๊ฒ์ฌํ๋ฉฐ, ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ต๋๋ค.
2. ๋ด ํ์ด - replaceAll(), reverse()
- ์ซ์, ํน์๋ฌธ์ ๋ฑ์ด ์์ธ ๋ฌธ์์ด์์ ์ํ๋ฒณ๋ง ์ถ์ถํ๊ธฐ ์ํด์๋ replaceAll()์ ์ฌ์ฉํ๋ค. ์ด๋ ์ํ๋ฒณ ์ด์ธ์ ๊ฒ๋ค์ " " (๊ณต๋ฐฑ๋ฌธ์)๋ก ๋ฐ๊ฟ์ค๋ค.
- ํ๋ฌธ ๋น๊ต๋ ์ด์ ํฌ์คํธ์ reverse()๋ฅผ ์ฌ์ฉํ๋ค.
import java.util.Scanner;
public class PalindromeChecker {
public String solution(String str) {
//1. ์ ๊ท์์ ์ด์ฉํ์ฌ ์ํ๋ฒณ์ ์ถ์ถํ๊ณ ๋๋ฌธ์๋ก ์ ํํ๋ค.
String s = str.replaceAll("[^A-Za-z]", "").toUpperCase();
//2. reverse()๋ก ๋น๊ตํ๊ธฐ
String tmp = new StringBuilder(s).reverse().toString();
if(s.equals(tmp)) return "YES";
else return "NO";
}
public static void main(String[] args) {
PalindromeChecker T = new PalindromeChecker();
Scanner kb = new Scanner(System.in);
String str = kb.nextLine();
System.out.println(T.solution(str));
}
}
๋ฐ์ํ
'๐ ์ฝ๋ฉํ ์คํธ > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments