[BOJ 30458] 팰린드롬 애너그램
View as PDF
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
1G
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
팰린드롬이란 앞으로 읽어도, 뒤로 읽어도 같은 문자열을 의미한다. 예를 들어, radar는 팰린드롬이지만, konkuk은 팰린드롬이 아니다.</p>
알파벳 소문자로만 이루어진 길이 $N$의 문자열 $S$가 주어진다. 문자열에 아래 연산을 $0$회 이상 수행해서 팰린드롬으로 만들 수 있을까?
- 문자열의 왼쪽 $\left\lfloor \frac{N}{2} \right\rfloor$개 문자 중 하나와 오른쪽 $\left\lfloor \frac{N}{2} \right\rfloor$개 문자 중 하나를 골라 서로 위치를 바꾼다.
첫째 줄에 문자열의 길이를 나타내는 정수 $N$이 주어진다. $\left( 3\leq N\leq 200\, 000 \right)$
둘째 줄에 길이 $N$의 문자열 $S$가 주어진다. $S$는 알파벳 소문자로만 이루어져 있다.
출력 형식
주어진 연산을 $0$회 이상 수행해서 팰린드롬으로 만들 수 있다면 Yes를, 만들 수 없다면 No를 출력한다.
예제 입력 1
11
abracadabra
예제 출력 1
No
예제 입력 2
11
abracacabra
예제 출력 2
Yes
힌트
$\lfloor x\rfloor$는 $x$의 소수점 이하를 버림한 값이다. 예를 들어, $\lfloor 2.5\rfloor$는 $2$이다.
Comments