반응형
문제
오셀로 재배치
https://www.acmicpc.net/problem/13413
풀이
설명
로봇을 이용해 작업을 진행했을 때, 목표 상태에 도달할 수 있는 최소 횟수를 구하는 문제입니다.
로봇은 다음 두 가지 작업 중 하나를 골라 진행할 수 있습니다.
- 배치된 말 중 임의의 2개의 말을 골라 서로의 위치를 바꿉니다.
- 말 1개를 들어 뒤집아 넣이 색상을 변경합니다.
횟수를 최소화하기 위해서는 1번 작업을 최대한 진행 후, 2번 작업을 진행해야 합니다.
색이 다른 돌 개수를 각각 센 후, 둘 중 더 큰 값을 반환하면 됩니다.
예시 코드
function solution() {
const T = +input();
const answer = [];
for (let i = 0; i < T; i++) {
const n = +input();
const original = input();
const target = input();
let whiteDiff = 0;
let blackDiff = 0;
for (let j = 0; j < n; j++) {
if (original[j] !== target[j])
original[j] === "W" ? whiteDiff++ : blackDiff++;
}
answer.push(Math.max(whiteDiff, blackDiff));
}
return answer.join("\n");
}
'Coding Problem' 카테고리의 다른 글
[BOJ 1343] 폴리오미노 (0) | 2025.02.19 |
---|---|
[BOJ 17413] 단어 뒤집기 2 (0) | 2025.02.18 |
[BOJ 2641] 다각형 그리기 (0) | 2025.02.12 |
[BOJ 2631] 줄 세우기 (0) | 2025.02.11 |
[프로그래머스] 카카오 - 양궁대회 (0) | 2025.02.08 |