0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

paizaラーニングレベルアップ問題集の「要素の追加/挿入/削除」をやってみた。

Posted at

paizaラーニングレベルアップ問題集の「要素の追加/挿入/削除」をやってみました。


問題
配列末尾への追加

末尾への要素の追加

要素の挿入

指定位置への要素の追加

要素の削除

指定要素の削除


問題
配列末尾への追加
  • 配列は半角空白区切り(ヨコ入力)で与えられます
  • 追加する要素は配列の前に与えられます
末尾への要素の追加
  • 配列は改行区切り(タテ入力)で与えられます
  • 追加する要素は配列の後に与えられます
  • だったらN+1個の要素を配列に受け取るでも
要素の挿入
  • 配列は半角空白区切り(ヨコ入力)で与えられます
  • 挿入する位置と要素は配列の前に与えられます
  • 左から$M$番目に$K$を挿入します
指定位置への要素の追加
  • 配列は改行区切り(タテ入力)で与えられます
  • 挿入する位置と要素は配列の後に与えられます
  • $A_n$の後に$B$を挿入します
要素の削除
  • 配列は半角空白区切り(ヨコ入力)で与えられます
  • 削除する要素番号は配列の前に与えられます
指定要素の削除
  • 配列は改行区切り(タテ入力)で与えられます
  • 削除する要素番号は配列の後に与えられます

C
配列末尾への追加
#include <stdio.h>
#include <stdlib.h>

int main() {
	int n, m;
	scanf("%d %d", &n, &m);
	int *A = malloc(sizeof(int)*n);
	if (!A) abort();
	for (int i = 0; i < n; i++) scanf("%d", &A[i]);
	A = realloc(A, sizeof(int)*(n+1));
	if (!A) abort();
	A[n] = m;
	for (int i = 0; i < n+1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}
末尾への要素の追加
#include <stdio.h>
#include <stdlib.h>

int main() {
	int n;
	scanf("%d", &n);
	int *A = malloc(sizeof(int)*n);
	if (!A) abort();
	for (int i = 0; i < n; i++) scanf("%d", &A[i]);
	int b;
	scanf("%d", &b);
	A = realloc(A, sizeof(int)*(n+1));
	if (!A) abort();
	A[n] = b;
	for (int i = 0; i < n+1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}
要素の挿入
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	int n, m, k;
	scanf("%d %d %d", &n, &m, &k);
	m -= 1;
	int *A = malloc(sizeof(int)*n);
	if (!A) abort();
	for (int i = 0; i < n; i++) scanf("%d", &A[i]);
	A = realloc(A, sizeof(int)*(n+1));
	if (!A) abort();
	memmove(A+m+1, A+m, sizeof(int)*(n-m));
	A[m] = k;
	for (int i = 0; i < n+1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}
指定位置への要素の追加
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	int N;
	scanf("%d", &N);
	int *A = malloc(sizeof(int)*N);
	if (!A) abort();
	for (int i = 0; i < N; i++) scanf("%d", &A[i]);
	int n, b;
	scanf("%d %d", &n, &b);
	A = realloc(A, sizeof(int)*(N+1));
	if (!A) abort();
	memmove(A+n+1, A+n, sizeof(int)*(N-n));
	A[n] = b;
	for (int i = 0; i < N+1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}
要素の削除
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	int n, m;
	scanf("%d %d", &n, &m);
	m -= 1;
	int *A = malloc(sizeof(int)*n);
	if (!A) abort();
	for (int i = 0; i < n; i++) scanf("%d", &A[i]);
	memmove(A+m, A+m+1, sizeof(int)*(n-1-m));
	A = realloc(A, sizeof(int)*(n-1));
	if (!A) abort();
	for (int i = 0; i < n-1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}
指定要素の削除
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	int N;
	scanf("%d", &N);
	int *A = malloc(sizeof(int)*N);
	if (!A) abort();
	for (int i = 0; i < N; i++) scanf("%d", &A[i]);
	int n;
	scanf("%d", &n);
	n -= 1;
	memmove(A+n, A+n+1, sizeof(int)*(N-1-n));
	A = realloc(A, sizeof(int)*(N-1));
	if (!A) abort();
	for (int i = 0; i < N-1; i++) printf("%d\n", A[i]);
	free(A);
	return 0;
}

C++
配列末尾への追加
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	vector<int> A(n);
	for (int i = 0; i < n; i++) cin >> A[i];
	A.push_back(m);
	for (int a : A) cout << a << endl;
	return 0;
}
末尾への要素の追加
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n;
	cin >> n;
	vector<int> A(n);
	for (int i = 0; i < n; i++) cin >> A[i];
	int b;
	cin >> b;
	A.push_back(b);
	for (int a : A) cout << a << endl;
	return 0;
}
要素の挿入
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n, m, k;
	cin >> n >> m >> k;
	m -= 1;
	vector<int> A(n);
	for (int i = 0; i < n; i++) cin >> A[i];
	A.insert(A.begin()+m, k);
	for (int a : A) cout << a << endl;
	return 0;
}
指定位置への要素の追加
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int N;
	cin >> N;
	vector<int> A(N);
	for (int i = 0; i < N; i++) cin >> A[i];
	int n, b;
	cin >> n >> b;
	A.insert(A.begin()+n, b);
	for (int a : A) cout << a << endl;
	return 0;
}
要素の削除
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n, m;
	cin >> n >> m;
	m -= 1;
	vector<int> A(n);
	for (int i = 0; i < n; i++) cin >> A[i];
	A.erase(A.begin()+m);
	for (int a : A) cout << a << endl;
	return 0;
}
指定要素の削除
#include <iostream>
#include <vector>
using namespace std;

int main() {
	int N;
	cin >> N;
	vector<int> A(N);
	for (int i = 0; i < N; i++) cin >> A[i];
	int n;
	cin >> n;
	n -= 1;
	A.erase(A.begin()+n);
	for (int a : A) cout << a << endl;
	return 0;
}

C#
配列末尾への追加
using System;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		int[] nm = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
		int m = nm[1];
		List<int> A = new List<int>(Array.ConvertAll(Console.ReadLine().Split(), int.Parse));
		A.Add(m);
		foreach (int a in A) Console.WriteLine(a);
	}
}
末尾への要素の追加
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		List<int> A = Enumerable.Range(0, int.Parse(Console.ReadLine())).Select(_ => int.Parse(Console.ReadLine())).ToList();
		A.Add(int.Parse(Console.ReadLine()));
		foreach (int a in A) Console.WriteLine(a);
	}
}
要素の挿入
using System;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		int[] nmk = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
		int m = nmk[1] - 1, k = nmk[2];
		List<int> A = new List<int>(Array.ConvertAll(Console.ReadLine().Split(), int.Parse));
		A.Insert(m, k);
		foreach (int a in A) Console.WriteLine(a);
	}
}
指定位置への要素の追加
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		List<int> A = Enumerable.Range(0, int.Parse(Console.ReadLine())).Select(_ => int.Parse(Console.ReadLine())).ToList();
		int[] nb = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
		int n = nb[0], b = nb[1];
		A.Insert(n, b);
		foreach (int a in A) Console.WriteLine(a);
	}
}
要素の削除
using System;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		int[] nm = Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
		int m = nm[1] - 1;
		List<int> A = new List<int>(Array.ConvertAll(Console.ReadLine().Split(), int.Parse));
		A.RemoveAt(m);
		foreach (int a in A) Console.WriteLine(a);
	}
}
指定要素の削除
using System;
using System.Linq;
using System.Collections.Generic;

class Program
{
	public static void Main()
	{
		List<int> A = Enumerable.Range(0, int.Parse(Console.ReadLine())).Select(_ => int.Parse(Console.ReadLine())).ToList();
		int n = int.Parse(Console.ReadLine()) - 1;
		A.RemoveAt(n);
		foreach (int a in A) Console.WriteLine(a);
	}
}

Go
配列末尾への追加
package main
import "fmt"

func main() {
	var n, m int
	fmt.Scan(&n, &m)
	A := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&A[i])
	}
	A = append(A, m)
	for _, a := range(A) {
		fmt.Println(a)
	}
}
末尾への要素の追加
package main
import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	A := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&A[i])
	}
	var b int
	fmt.Scan(&b)
	A = append(A, b)
	for _, a := range(A) {
		fmt.Println(a)
	}
}
要素の挿入
package main
import "fmt"

func main() {
	var n, m, k int
	fmt.Scan(&n, &m, &k)
	m -= 1
	A := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&A[i])
	}
	A = append(A[:m], append([]int{k}, A[m:]...)...)
	for _, a := range(A) {
		fmt.Println(a)
	}
}
指定位置への要素の追加
package main
import "fmt"

func main() {
	var N int
	fmt.Scan(&N)
	A := make([]int, N)
	for i := 0; i < N; i++ {
		fmt.Scan(&A[i])
	}
	var n, b int
	fmt.Scan(&n, &b)
	A = append(A[:n], append([]int{b}, A[n:]...)...)
	for _, a := range(A) {
		fmt.Println(a)
	}
}
要素の削除
package main
import "fmt"

func main() {
	var n, m int
	fmt.Scan(&n, &m)
	m -= 1
	A := make([]int, n)
	for i := 0; i < n; i++ {
		fmt.Scan(&A[i])
	}
	A = append(A[:m], A[m+1:]...)
	for _, a := range(A) {
		fmt.Println(a)
	}
}
指定要素の削除
package main
import "fmt"

func main() {
	var N int
	fmt.Scan(&N)
	A := make([]int, N)
	for i := 0; i < N; i++ {
		fmt.Scan(&A[i])
	}
	var n int
	fmt.Scan(&n)
	n -= 1
	A = append(A[:n], A[n+1:]...)
	for _, a := range(A) {
		fmt.Println(a)
	}
}

Java
配列末尾への追加
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		sc.nextLine();
		List<Integer> A = new ArrayList<>(Arrays.asList(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt) .boxed().toArray(Integer[]::new)));
		sc.close();
		A.add(m);
		for (int a : A) System.out.println(a);
	}
}
末尾への要素の追加
import java.util.*;
import java.util.stream.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<Integer> A = new ArrayList<>(Arrays.asList(IntStream.range(0, sc.nextInt()).map(__ -> sc.nextInt()).boxed().toArray(Integer[]::new)));
		A.add(sc.nextInt());
		sc.close();
		for (int a : A) System.out.println(a);
	}
}
要素の挿入
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt() - 1;
		int k = sc.nextInt();
		sc.nextLine();
		List<Integer> A = new ArrayList<>(Arrays.asList(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt) .boxed().toArray(Integer[]::new)));
		sc.close();
		A.add(m, k);
		for (int a : A) System.out.println(a);
	}
}
指定位置への要素の追加
import java.util.*;
import java.util.stream.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<Integer> A = new ArrayList<>(Arrays.asList(IntStream.range(0, sc.nextInt()).map(__ -> sc.nextInt()).boxed().toArray(Integer[]::new)));
		A.add(sc.nextInt(), sc.nextInt());
		sc.close();
		for (int a : A) System.out.println(a);
	}
}
要素の削除
import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt() - 1;
		sc.nextLine();
		List<Integer> A = new ArrayList<>(Arrays.asList(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt) .boxed().toArray(Integer[]::new)));
		sc.close();
		A.remove(m);
		for (int a : A) System.out.println(a);
	}
}
指定要素の削除
import java.util.*;
import java.util.stream.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		List<Integer> A = new ArrayList<>(Arrays.asList(IntStream.range(0, sc.nextInt()).map(__ -> sc.nextInt()).boxed().toArray(Integer[]::new)));
		A.remove(sc.nextInt() - 1);
		sc.close();
		for (int a : A) System.out.println(a);
	}
}

JavaScript
配列末尾への追加
const [[n, m], A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(s => s.split(' ').map(Number));
A.push(m);
A.forEach(a => console.log(a));
末尾への要素の追加
const lines = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n');
const n = Number(lines.shift());
const m = Number(lines.pop());
const A = lines.map(Number);
A.push(m);
A.forEach(a => console.log(a));
要素の挿入
const [[n, m, k], A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(s => s.split(' ').map(Number));
A.splice(m-1, 0, k);
A.forEach(a => console.log(a));
指定位置への要素の追加
const lines = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n');
const N = Number(lines.shift());
const [n, b] = lines.pop().split(' ').map(Number);
const A = lines.map(Number);
A.splice(n, 0, b);
A.forEach(a => console.log(a));
要素の削除
const [[n, m], A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(s => s.split(' ').map(Number));
A.splice(m-1, 1);
A.forEach(a => console.log(a));
指定要素の削除
const lines = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n');
const N = Number(lines.shift());
const n = Number(lines.pop()) - 1;
const A = lines.map(Number);
A.splice(n, 1);
A.forEach(a => console.log(a));

Kotlin
配列末尾への追加
fun main() {
	val (_, m) = readLine()!!.split(" ").map { it.toInt() }
	val A = readLine()!!.split(" ").map { it.toInt() }.toMutableList()
	A.add(m)
	for (a in A) println(a)
}
末尾への要素の追加
fun main() {
	val A = Array(readLine()!!.toInt()) { readLine()!!.toInt() }.toMutableList()
	A.add(readLine()!!.toInt())
	for (a in A) println(a)
}
要素の挿入
fun main() {
	val (_, m, k) = readLine()!!.split(" ").map { it.toInt() }
	val A = readLine()!!.split(" ").map { it.toInt() }.toMutableList()
	A.add(m-1, k)
	for (a in A) println(a)
}
指定位置への要素の追加
fun main() {
	val A = Array(readLine()!!.toInt()) { readLine()!!.toInt() }.toMutableList()
	val (n, b) = readLine()!!.split(" ").map { it.toInt() }
	A.add(n, b)
	for (a in A) println(a)
}
要素の削除
fun main() {
	val (_, m) = readLine()!!.split(" ").map { it.toInt() }
	val A = readLine()!!.split(" ").map { it.toInt() }.toMutableList()
	A.removeAt(m-1)
	for (a in A) println(a)
}
指定要素の削除
fun main() {
	val A = Array(readLine()!!.toInt()) { readLine()!!.toInt() }.toMutableList()
	A.removeAt(readLine()!!.toInt()-1)
	for (a in A) println(a)
}

PHP
配列末尾への追加
<?php
	[$n, $m] = array_map("intval", explode(' ', fgets(STDIN)));
	$A = array_map("intval", explode(' ', fgets(STDIN)));
	array_push($A, $m);
	foreach ($A as $a) echo $a, PHP_EOL;
?>
末尾への要素の追加
<?php
	$n = intval(fgets(STDIN));
	$A = array_fill(0, $n, 0);
	for ($i = 0; $i < $n; $i++) $A[$i] = intval(fgets(STDIN));
	array_push($A, intval(fgets(STDIN)));
	foreach ($A as $a) echo $a, PHP_EOL;
?>
要素の挿入
<?php
	[$n, $m, $k] = array_map("intval", explode(' ', fgets(STDIN)));
	$m -= 1;
	$A = array_map("intval", explode(' ', fgets(STDIN)));
	array_splice($A, $m, 0, [$k]);
	foreach ($A as $a) echo $a, PHP_EOL;
?>
指定位置への要素の追加
<?php
	$N = intval(fgets(STDIN));
	$A = [];
	for ($i = 0; $i < $N; $i++) $A[] = intval(fgets(STDIN));
	[$n, $b] = array_map("intval", explode(' ', fgets(STDIN)));
	array_splice($A, $n, 0, [$b]);
	foreach ($A as $a) echo $a, PHP_EOL;
?>
要素の削除
<?php
	[$n, $m] = array_map("intval", explode(' ', fgets(STDIN)));
	$m -= 1;
	$A = array_map("intval", explode(' ', fgets(STDIN)));
	array_splice($A, $m, 1);
	foreach ($A as $a) echo $a, PHP_EOL;
?>
指定要素の削除
<?php
	$N = intval(fgets(STDIN));
	$A = [];
	for ($i = 0; $i < $N; $i++) $A[] = intval(fgets(STDIN));
	array_splice($A, intval(fgets(STDIN))-1, 1);
	foreach ($A as $a) echo $a, PHP_EOL;
?>

Perl
配列末尾への追加
my ($n, $m) = map { int($_) } split ' ', <STDIN>;
my @A = map { int($_) } split ' ', <STDIN>;
push @A, $m;
foreach $a (@A) {
	print $a, $/;
}
末尾への要素の追加
my $n = int(<STDIN>);
my @A = (0) x $n;
for (my $i = 0; $i < $n; $i++) {
	$A[$i] = int(<STDIN>);
}
push @A, int(<STDIN>);
foreach $a (@A) {
	print $a, $/;
}
要素の挿入
my ($n, $m, $k) = map { int($_) } split ' ', <STDIN>;
$m -= 1;
my @A = map { int($_) } split ' ', <STDIN>;
splice @A, $m, 0, $k;
foreach $a (@A) {
	print $a, $/;
}
指定位置への要素の追加
my $N = int(<STDIN>);
my @A;
for (1..$N) {
	push @A, int(<STDIN>);
}
my ($n, $b) = map { int($_) } split ' ', <STDIN>;

splice @A, $n, 0, $b;
foreach $a (@A) {
	print $a, $/;
}
要素の削除
my ($n, $m) = map { int($_) } split ' ', <STDIN>;
$m -= 1;
my @A = map { int($_) } split ' ', <STDIN>;
splice @A, $m, 1;
foreach $a (@A) {
	print $a, $/;
}
指定要素の削除
my $N = int(<STDIN>);
my @A;
for (1..$N) {
	push @A, int(<STDIN>);
}
splice @A, int(<STDIN>)-1, 1;
foreach $a (@A) {
	print $a, $/;
}

Python3
配列末尾への追加
n, m = map(int, input().split())
A = list(map(int, input().split()))
A.append(m)
for a in A:
	print(a)
末尾への要素の追加
A = [int(input()) for _ in range(int(input()))]
A.append(int(input()))
for a in A:
	print(a)
要素の挿入
n, m, k = map(int, input().split())
m -= 1
A = list(map(int, input().split()))
A.insert(m, k)
for a in A:
	print(a)
指定位置への要素の追加
A = [int(input()) for _ in range(int(input()))]
n, b = map(int, input().split())
A.insert(n, b)
for a in A:
	print(a)
要素の削除
n, m = map(int, input().split())
m -= 1
A = list(map(int, input().split()))
del A[m]
for a in A:
	print(a)
指定要素の削除
A = [int(input()) for _ in range(int(input()))]
A.pop(int(input())-1)
for a in A:
	print(a)

popメソッドは削除した値を返却します。


Ruby
配列末尾への追加
n, m = gets.split.map(&:to_i)
A = gets.split.map(&:to_i)
A.push(m)
A.each do |a|
	p a
end
末尾への要素の追加
A = gets.to_i.times.map { gets.to_i }
A << gets.to_i
A.each do |a|
	p a
end
要素の挿入
n, m, k = gets.split.map(&:to_i)
m -= 1
A = gets.split.map(&:to_i)
A.insert(m, k)
A.each do |a|
	p a
end
指定位置への要素の追加
A = gets.to_i.times.map { gets.to_i }
n, b = gets.split.map(&:to_i)
A.insert(n, b)
A.each do |a|
	p a
end
要素の削除
n, m = gets.split.map(&:to_i)
m -= 1
A = gets.split.map(&:to_i)
A.delete_at(m)
A.each do |a|
	p a
end
指定要素の削除
A = gets.to_i.times.map { gets.to_i }
A.delete_at(gets.to_i - 1)
A.each do |a|
	p a
end

Scala
配列末尾への追加
import scala.io.StdIn._

object Main extends App{
	val Array(n, m) = readLine().split(' ').map { _.toInt }
	var A = readLine().split(' ').map { _.toInt }
	A :+= m
	for (a <- A) println(a)
}
末尾への要素の追加
import scala.io.StdIn._

object Main extends App{
	var A = (0 until readInt()).map { _ => readInt() }
	A :+= readInt()
	for (a <- A) println(a)
}
要素の挿入
import scala.io.StdIn._

object Main extends App{
	val Array(n, m, k) = readLine().split(' ').map { _.toInt }
	var A = readLine().split(' ').map { _.toInt }.toBuffer
	A.insert(m-1, k)
	for (a <- A) println(a)
}
指定位置への要素の追加
import scala.io.StdIn._

object Main extends App{
	val A = (0 until readInt()).map { _ => readInt() }.toBuffer
	val Array(n, b) = readLine().split(' ').map { _.toInt }
	A.insert(n, b)
	for (a <- A) println(a)
}
要素の削除
import scala.io.StdIn._

object Main extends App{
	val Array(n, m) = readLine().split(' ').map { _.toInt }
	var A = readLine().split(' ').map { _.toInt }.toBuffer
	A.remove(m-1)
	for (a <- A) println(a)
}
指定要素の削除
import scala.io.StdIn._

object Main extends App{
	val A = (0 until readInt()).map { _ => readInt() }.toBuffer
	A.remove(readInt()-1)
	for (a <- A) println(a)
}

Swift
配列末尾への追加
let nm = readLine()!.split(separator: " ").compactMap { Int($0) }
let m = nm[1]
var A = readLine()!.split(separator: " ").compactMap { Int($0) }
A.append(m)
for a in A {
	print(a)
}
末尾への要素の追加
var A = (0..<Int(readLine()!)!).map { _ in Int(readLine()!)! }
A.append(Int(readLine()!)!)
for a in A {
	print(a)
}
要素の挿入
let nmk = readLine()!.split(separator: " ").compactMap { Int($0) }
let (m, k) = (nmk[1]-1, nmk[2])
var A = readLine()!.split(separator: " ").compactMap { Int($0) }
A.insert(k, at: m)
for a in A {
	print(a)
}
指定位置への要素の追加
var A = (0..<Int(readLine()!)!).map { _ in Int(readLine()!)! }
let nb = readLine()!.split(separator: " ").compactMap { Int($0) }
let (n, b) = (nb[0], nb[1])
A.insert(b, at: n)
for a in A {
	print(a)
}
要素の削除
let nm = readLine()!.split(separator: " ").compactMap { Int($0) }
let m = nm[1] - 1
var A = readLine()!.split(separator: " ").compactMap { Int($0) }
A.remove(at: m)
for a in A {
	print(a)
}
指定要素の削除
var A = (0..<Int(readLine()!)!).map { _ in Int(readLine()!)! }
A.remove(at: Int(readLine()!)!-1)
for a in A {
	print(a)
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?