반응형
문제 출처: https://www.acmicpc.net/problem/13413
1. 문제 접근방식
- 첫번째로 W, B 중 개수가 적은 것을 파악하여 자리를 한 번 바꿔주고 적은 것을 뒤집어 문자를 맞춰주면 되는 방식이다.
2. 내가 푼 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class boj13413 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
while (T-- > 0) {
int N = Integer.parseInt(br.readLine());
String input = br.readLine();
String target = br.readLine();
System.out.println(calc(input, target));
}
}
static int calc(String input, String target) {
int W_Count = 0;
int B_Count = 0;
int ans = 0;
for (int i = 0; i < target.length(); i++) {
if (input.charAt(i) != target.charAt(i)) {
if (input.charAt(i) == 'W') {
W_Count++;
} else {
B_Count++;
}
}
}
ans += (Math.min(W_Count, B_Count) + Math.abs(W_Count - B_Count));
return ans;
}
}
3. 결과 및 느낀점
- 예시로 주어진 것들을 적어가면서 규칙을 파악한다면 쉬운 문제이다.
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 20291 JAVA (0) | 2021.08.12 |
---|---|
[Baekjoon/백준] 20114 JAVA (0) | 2021.08.11 |
[Baekjoon/백준] 1543 JAVA (0) | 2021.08.09 |
[Baekjoon/백준] 1764 JAVA (0) | 2021.08.07 |
[Baekjoon/백준] 17219 JAVA (0) | 2021.08.06 |