n, s = map(int, input().split())a = list(map(int, input().split()))# 자리 번호 s는 1부터 세므로 목록에서는 s - 1번 칸이다for i in range(s - 1, n - 1, 2): a[i], a[i + 1] = a[i + 1], a[i] # 임시 변수 없이 한 줄로 맞바꾼다print(*a)
JavaScriptmain.js · 6 行
const [n, s, ...a] = require("fs").readFileSync(0, "utf8").trim().split(/\s+/).map(Number);// 짝의 오른쪽 칸(i + 1)이 목록 안에 있을 때만 바꾼다for (let i = s - 1; i + 1 < n; i += 2) { [a[i], a[i + 1]] = [a[i + 1], a[i]];}console.log(a.join(" "));
TypeScriptmain.ts · 7 行
import { readFileSync } from "node:fs";const [n, s, ...a]: number[] = readFileSync(0, "utf8").trim().split(/\s+/).map(Number);// 짝의 오른쪽 칸(i + 1)이 목록 안에 있을 때만 바꾼다for (let i = s - 1; i + 1 < n; i += 2) { [a[i], a[i + 1]] = [a[i + 1], a[i]];}console.log(a.join(" "));
JavaMain.java · 22 行
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int s = sc.nextInt(); int[] a = new int[n]; for (int i = 0; i < n; i++) a[i] = sc.nextInt(); for (int i = s - 1; i + 1 < n; i += 2) { int tmp = a[i]; // 한쪽을 먼저 맡겨 둔다 a[i] = a[i + 1]; a[i + 1] = tmp; } StringBuilder out = new StringBuilder(); for (int i = 0; i < n; i++) { if (i > 0) out.append(' '); out.append(a[i]); } System.out.println(out); }}
C#Main.cs · 17 行
using System;class Program{ static void Main() { string[] first = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries); int n = int.Parse(first[0]); int s = int.Parse(first[1]); int[] a = Array.ConvertAll(Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries), int.Parse); for (int i = s - 1; i + 1 < n; i += 2) { (a[i], a[i + 1]) = (a[i + 1], a[i]); // 튜플로 한 줄에 맞바꾼다 } Console.WriteLine(string.Join(" ", a)); }}
C++main.cpp · 15 行
#include <iostream>#include <utility>#include <vector>int main() { int n, s; std::cin >> n >> s; std::vector<int> a(n); for (int& x : a) std::cin >> x; for (int i = s - 1; i + 1 < n; i += 2) { std::swap(a[i], a[i + 1]); } for (int i = 0; i < n; i++) std::cout << (i ? " " : "") << a[i]; std::cout << "\n";}
Cmain.c · 15 行
#include <stdio.h>int main(void) { int n, s, a[100]; scanf("%d %d", &n, &s); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (int i = s - 1; i + 1 < n; i += 2) { int tmp = a[i]; /* 한쪽을 먼저 맡겨 둔다 */ a[i] = a[i + 1]; a[i + 1] = tmp; } for (int i = 0; i < n; i++) printf(i ? " %d" : "%d", a[i]); printf("\n"); return 0;}
Craykonmain.cray · 12 行
첫줄 = 控制台.读数字();n = 첫줄[0];s = 첫줄[1];a = 控制台.读数字();循环 (i = s - 1; i + 1 < n; i += 2){ // 한쪽을 먼저 임시로 맡겨 둔다 임시 = a[i]; a[i] = a[i + 1]; a[i + 1] = 임시;}控制台.输出(a);