본문 바로가기
백준/20001 - 25000

[백준] 22999번 : K-Goodness String(JAVA)

by lms0806 2021. 9. 1.
728x90
반응형

https://www.acmicpc.net/problem/22999

 

22999번: K-Goodness String

For each test case, output one line containing Case #x: y, where x is the test case number (starting from 1) and y is the minimum number of operations required to transform the given string S into a string with goodness score equal to K.

www.acmicpc.net

풀이

입력받은 문자를 앞뒤 1글자씩 비교하면서 다를경우 ++한 후 주어진 k랑 비교하였을때의 차이를 출력하면 됩니다.

※ 주의 : 절대값을 출력해야합니다.

 

소스코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
		
		int size = Integer.parseInt(br.readLine());
		
		StringBuilder sb = new StringBuilder();
		for(int i = 1; i <= size; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			st.nextToken();
			int n = Integer.parseInt(st.nextToken());
			
			String s = br.readLine();
			
			int num = 0;
			for(int j = 0; j < s.length() / 2; j++) {
				if(s.charAt(j) != s.charAt(s.length() - j - 1)) {
					num++;
				}
			}
			sb.append("Case #").append(i).append(": ").append(Math.abs(n - num)).append("\n");
		}
		System.out.print(sb);
	}
}
728x90
반응형

댓글