지우개 교환

문제


짱짱이는 N개의 필통을 가지고 있으며, 각각의 필통에는 지우개가 1번부터 N번까지 번호가 매겨져 있습니다. 지우개를 교환하는 방법이 주어질 , 짱짱이가 M번 교환한 이후에 필통에 어떤 지우개가 들어있는지를 구하는 프로그램을 작성하세요.

 

입력


  • 배열 처음에는 N M 있습니다.
  • 두번째 배열부터 지우개를 교환하는 데이터가 있습니다. 두 정수로 이루어져있으며 두 정수의 필통에 있는 지우개를 교환하는겁니다.

풀이


function swapBins(input) {
    const [N, M] = input[0].split(' ').map(Number);

    const result = new Array(N).fill().map((arr, index) => {
        return index + 1;
    });
    for (let n = 1; n <= M; n++) {
        const [i, j] = input[n].split(' ').map(Number);
        const temp = result[i - 1];
        result[i - 1] = result[j - 1];
        result[j - 1] = temp;
    }

    return result.join(' ');
}

input = ['5 3', '1 3', '2 4', '4 5']

입력으로 들어온 번째 줄에서 필통 개수 N 바꾸는 횟수 M 읽어옵니다.

 필통에는 처음에는 해당하는 번호가 적힌 지우개가 들어가므로, 1부터 N까지의 번호를 순서대로 저장합니다.

반복문을 통해 M번의 지우개 교환 작업을 수행합니다.

지우개 교환 작업마다 입력에서 바꿀 지우개 번호를 읽어와서 해당하는 인덱스의 값을 교환합니다.

지우개 교환 작업이 완료된 , result 배열을 공백을 사이에 두고 문자열로 변환하여 반환합니다.

'코딩문제' 카테고리의 다른 글

나머지 개수 세기  (0) 2024.03.24
출석하지 않은 강아지 찾기  (0) 2024.03.24
필통과 지우개  (0) 2024.03.22
주사위 상금 게임  (0) 2024.03.21
통닭 시간 프로그램  (0) 2024.03.21