[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

There are no comments at the moment.