문제
짱짱이는 총 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 |