츄르사려고 코딩하는 코집사입니다.
1. [백준] 백준 25630번 팰린드롬 소떡소떡 자바(JAVA)
1) 문제번호 : 25630번
2) 문제 출처
https://www.acmicpc.net/problem/25630
2. 문제
소떡소떡은 기다란 꼬치에 소세지와 떡을 끼운 음식이다. 편의상 소떡소떡을 알파벳 s와 t로만 구성된 길이 의 문자열로 생각하자. 알파벳 s는 소세지를, t는 떡을 의미한다.
위 그림은 길이가 인 소떡소떡의 예시이다. 유진이는 소떡소떡을 먹기 전에 소떡소떡을 팰린드롬 소떡소떡으로 만들려고 한다. 팰린드롬이란, 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때가 같은 문자열을 말한다. 예를 들어 sts, tsst, tt는 팰린드롬이다.
유진이는 특별한 마법을 사용해서 꼬치에 꽂힌 소세지 하나를 떡으로 바꾸거나, 반대로 떡 하나를 소세지로 바꿀 수 있다. 위 그림은 마법을 한 번 사용해서 떡 하나를 소세지로 바꾼 그림이다.
위 그림은 마법을 한 번 더 사용해서 떡 하나를 소세지로 바꾼 그림이다. 이제 이 소떡소떡은 팰린드롬 소떡소떡이 되었다.
유진이가 먹으려고 하는 소떡소떡이 주어질 때, 이 소떡소떡을 팰린드롬 소떡소떡으로 만들기 위해서는 마법을 최소 몇 번 사용해야 할까?
3. 제약사항
4. 입력
첫째 줄에 소떡소떡의 길이 N이 주어진다.
둘째 줄에 소떡소떡을 의미하는 길이 의 문자열이 주어진다. 이 문자열은 알파벳 s와 t로만 구성되어 있다.
5. 출력
소떡소떡을 팰린드롬 소떡소떡으로 만들기 위해서 마법을 최소 몇 번 사용해야 하는지 출력한다.
6. 풀이
- 값을 입력 받고, 문자열 str에서 양 끝에서 안쪽까지 반복문을 돌린다.
- 반복문을 돌리는데, 각 값들을 비교하여 같을 경우에는 상관이 없는데, 같지 않을 경우에는 cnt를 늘려줘서 작업을 해야 하는 횟수를 출력하면 된다.
7. 소스 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String str = br.readLine();
int cnt = 0;
for(int i = 0; i < str.length() / 2; i++) {
String f = str.substring(i, i+1);
String b = str.substring(str.length() - i - 1, str.length() - i);
if(!f.equals(b)) {
cnt++;
}
}
System.out.println(cnt);
}
}
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준] 백준 25628번 햄버거 만들기 자바(JAVA) (0) | 2023.04.08 |
---|---|
[백준] 백준 27890번 특별한 작은 분수 자바(JAVA) (0) | 2023.03.29 |
[백준] 백준 27919번 UDPC 파티 자바(JAVA) (0) | 2023.03.29 |
[백준] 백준 25915번 연세여 사랑한다 자바(JAVA) (0) | 2023.03.28 |
[백준] 백준 27918번 탁구 경기 자바(JAVA) (0) | 2023.03.27 |
[백준] 백준 27913번 SciComLove (2023) 자바(JAVA) (0) | 2023.03.26 |
[백준] 백준 27889번 특별한 학교 이름 자바(JAVA) (0) | 2023.03.26 |
[백준] 백준 25965번 미션 도네이션 자바(JAVA) (0) | 2023.03.24 |
최근댓글