Coding Problem

[BOJ 13413] 오셀로 재배치

Yepchani 2025. 2. 13. 18:00
반응형

문제

오셀로 재배치

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

 

 

풀이

설명

로봇을 이용해 작업을 진행했을 때, 목표 상태에 도달할 수 있는 최소 횟수를 구하는 문제입니다.

 

로봇은 다음 두 가지 작업 중 하나를 골라 진행할 수 있습니다.

  1. 배치된 말 중 임의의 2개의 말을 골라 서로의 위치를 바꿉니다.
  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