본문으로 이동
코드패스 by Devin.KR

문제 3982 · 비트 II

천문대 관측 칸 교환

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 천문대는 밤하늘을 관측한 결과를 N개의 칸으로 이루어진 기록표에 저장한다. 기록표의 칸에는 왼쪽부터 1번, 2번, ..., N번의 번호가 붙어 있다. 각 칸에는 해당 관측 구간에서 장비가 센 빛의 신호 수가 음이 아닌 정수 하나로 들어 있다. 신호 수가 같더라도 칸 번호가 다르면 서로 다른 위치의 기록이다. 관측을 마친 뒤 담당자는 기록을 옮기는 과정에서 두 칸의 값을 서로 바꾸어 적었다는 사실을 확인했다. 교정 장치에는 값을 교환해야 하는 칸 번호 A와 B가 전달된다. 담당자는 현재 기록표의 A번 칸에 들어 있는 값을 B번 칸으로 옮기고, 현재 B번 칸에 들어 있는 값을 A번 칸으로 옮겨 기록을 바로잡으려 한다. 이 작업은 두 값을 한 번에 맞바꾸는 작업이다. 두 칸 중 한쪽의 값을 다른 쪽에 복사한 다음 원래 값을 잃어버려서는 안 된다. A번과 B번을 제외한 모든 칸의 값은 현재 기록 그대로 유지한다. 교정 작업은 한 번만 수행하며, 값을 크기순으로 정렬하거나 칸의 순서를 바꾸는 작업은 하지 않는다. 교정 장치는 확인만 필요한 경우에도 같은 형식의 명령을 보낼 수 있다. 따라서 A와 B가 같을 수도 있다. 두 번호가 같으면 해당 칸을 포함한 모든 칸의 값이 그대로 유지된다. 서로 다른 두 칸의 값이 우연히 같은 경우에도 교환 후 기록표의 값들은 교환 전과 같아진다. 현재 기록표의 값들과 두 칸 번호가 주어질 때, 교정 작업을 마친 기록표를 구하는 프로그램을 작성한다. 출력할 때는 칸 번호가 작은 것부터 순서대로 모든 값을 나열한다. 값이 0인 칸도 생략하지 않으며, 기록표의 칸 수는 교정 전후에 동일하다.

입력

첫째 줄에 칸 수 N이 주어진다. 둘째 줄에 현재 기록표의 값 V_1, V_2, ..., V_N이 공백으로 구분되어 주어진다. 셋째 줄에 교환할 두 칸 번호 A와 B가 주어진다. 모든 입력값은 정수이며, 1 ≤ N ≤ 1,000, 0 ≤ V_i ≤ 1,000,000, 1 ≤ A, B ≤ N이다.

출력

교정 후의 1번 칸부터 N번 칸까지의 값을 한 줄에 공백으로 구분하여 출력한다. A와 B가 같으면 입력된 기록표를 그대로 출력한다.

예제 입력 1

5
12 0 37 8 21
2 5

예제 출력 1

12 21 37 8 0

예제 입력 2

3
9 4 9
2 2

예제 출력 2

9 4 9

예제 입력 3

1
0
1 1

예제 출력 3

0
힌트 펼치기
  • 입력의 칸 번호는 1부터 시작한다.
  • 한쪽 값을 덮어쓰기 전에 두 칸의 원래 값을 보존한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류배열구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)