paizaラーニングレベルアップ問題集の「配列に含まれている?」「指定要素があるかの判定」をやってみました。
問題
配列に含まれている?
指定要素があるかの判定
- 1問目の配列は半角空白区切り(ヨコ入力)で、要素は1以上
- 2問目の配列は改行区切り(タテ入力)で、要素は0以上
です。
C
配列に含まれている?
#include <stdio.h>
int* find(int n, int A[n], int m) {
for (int i = 0; i < n; i++) if (A[i] == m) return A + i;
return NULL;
}
int main() {
int n, m;
scanf("%d %d", &n, &m);
int A[n];
for (int i = 0; i < n; i++) scanf("%d", &A[i]);
puts(find(n, A, m) ? "Yes" : "No");
return 0;
}
指定要素があるかの判定
#include <stdio.h>
int* find(int n, int A[n], int m) {
for (int i = 0; i < n; i++) if (A[i] == m) return A + i;
return NULL;
}
int main() {
int n, k;
scanf("%d %d", &n, &k);
int A[n];
for (int i = 0; i < n; i++) scanf("%d", &A[i]);
puts(find(n, A, k) ? "Yes" : "No");
return 0;
}
C++
配列に含まれている?
#include <iostream>
#include <vector>
#include <algorithm>
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];
cout << (find(A.begin(), A.end(), m) == A.end() ? "No" : "Yes") << endl;
return 0;
}
指定要素があるかの判定
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> A(n);
for (int i = 0; i < n; i++) cin >> A[i];
cout << (find(A.begin(), A.end(), k) == A.end() ? "No" : "Yes") << endl;
return 0;
}
C#
配列に含まれている?
using System;
using System.Linq;
class Program
{
public static void Main()
{
int[] nm = Console.ReadLine().Split().Select(_ => int.Parse(_)).ToArray();
int m = nm[1];
Console.WriteLine(Console.ReadLine().Split().Select(_ => int.Parse(_)).Any(_ => _ == m) ? "Yes" : "No");
}
}
指定要素があるかの判定
using System;
using System.Linq;
class Program
{
public static void Main()
{
int[] nk = Console.ReadLine().Split().Select(_ => int.Parse(_)).ToArray();
int n = nk[0], k = nk[1];
Console.WriteLine(Enumerable.Range(0, n).Select(_ => int.Parse(Console.ReadLine())).Any(_ => _ == k) ? "Yes" : "No");
}
}
Go
配列に含まれている?
package main
import "fmt"
func find(A []int, m int) *int {
for i, a := range(A) {
if a == m {
return &A[i]
}
}
return nil
}
func main() {
var n, m int
fmt.Scan(&n, &m)
A := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&A[i])
}
if find(A, m) == nil {
fmt.Println("No")
} else {
fmt.Println("Yes")
}
}
指定要素があるかの判定
package main
import "fmt"
func find(A []int, k int) *int {
for i, a := range(A) {
if a == k {
return &A[i]
}
}
return nil
}
func main() {
var n, k int
fmt.Scan(&n, &k)
A := make([]int, n)
for i := 0; i < n; i++ {
fmt.Scan(&A[i])
}
if find(A, k) == nil {
fmt.Println("No")
} else {
fmt.Println("Yes")
}
}
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();
System.out.println(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).anyMatch(a -> a == m) ? "Yes" : "No");
sc.close();
}
}
指定要素があるかの判定
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
sc.nextLine();
System.out.println(IntStream.range(0, n).map(i -> sc.nextInt()).anyMatch(a -> a == k) ? "Yes" : "No");
sc.close();
}
}
JavaScript
配列に含まれている?
const [[n, m], A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(s => s.split(' ').map(Number));
console.log(A.some(a => a == m) ? "Yes" : "No");
指定要素があるかの判定
const [[n, k], ...A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map((s, i) => i ? Number(s) : s.split(' ').map(Number));
console.log(A.some(a => a == k) ? "Yes" : "No");
Kotlin
配列に含まれている?
fun main() {
val (_, m) = readLine()!!.split(' ').map { it.toInt() }
val A = readLine()!!.split(' ').map { it.toInt() }
println(if (A.any { it == m }) "Yes" else "No")
}
指定要素があるかの判定
fun main() {
val (n, k) = readLine()!!.split(' ').map { it.toInt() }
val A = Array(n) { readLine()!!.toInt() }
println(if (A.any { it == k }) "Yes" else "No")
}
PHP
配列に含まれている?
<?php
[$n, $m] = array_map("intval", explode(' ', fgets(STDIN)));
$A = array_map("intval", explode(' ', fgets(STDIN)));
echo in_array($m, $A) ? "Yes" : "No", PHP_EOL;
?>
指定要素があるかの判定
<?php
[$n, $k] = array_map("intval", explode(' ', fgets(STDIN)));
$A = [];
for ($i = 0; $i < $n; $i++) $A[] = intval(fgets(STDIN));
echo in_array($k, $A) ? "Yes" : "No", PHP_EOL;
?>
Perl
配列に含まれている?
my ($n, $m) = map { int($_) } split ' ', <STDIN>;
my @A = map { int($_) } split ' ', <STDIN>;
my $found = 0;
for (@A) {
if ($_ == $m) {
$found = 1;
last;
}
}
print $found ? "Yes" : "No", $/;
指定要素があるかの判定
my ($n, $k) = map { int($_) } split ' ', <STDIN>;
my @A;
for (1..$n) {
push @A, int(<STDIN>);
}
my $found = 0;
for (@A) {
if ($_ == $k) {
$found = 1;
last;
}
}
print $found ? "Yes" : "No", $/;
Python3
配列に含まれている?
_, m = map(int, input().split())
print("Yes" if m in list(map(int, input().split())) else "No")
指定要素があるかの判定
n, k = map(int, input().split())
print("Yes" if k in [int(input()) for _ in range(n)] else "No")
Ruby
配列に含まれている?
_, m = gets.split.map(&:to_i)
print gets.split.map(&:to_i).any? { |a| a == m } ? "Yes" : "No"
指定要素があるかの判定
n, k = gets.split.map(&:to_i)
print n.times.map { gets.to_i }.any? { |a| a == k } ? "Yes" : "No"
Scala
配列に含まれている?
import scala.io.StdIn._
object Main extends App{
val Array(n, m) = readLine().split(' ').map { _.toInt }
println(if (readLine().split(' ').map { _.toInt }.contains(m)) "Yes" else "No")
}
指定要素があるかの判定
import scala.io.StdIn._
object Main extends App{
val Array(n, k) = readLine().split(' ').map { _.toInt }
println(if ((0 until n).map { _ => readInt() }.contains(k)) "Yes" else "No")
}
Swift
配列に含まれている?
let nm = readLine()!.split(separator: " ").compactMap { Int($0) }
let m = nm[1]
let A = readLine()!.split(separator: " ").compactMap { Int($0) }
print(A.contains(m) ? "Yes" : "No")
指定要素があるかの判定
let nk = readLine()!.split(separator: " ").compactMap { Int($0) }
let (n, k) = (nk[0], nk[1])
var A: [Int] = []
for _ in 0..<n {
A.append(Int(readLine()!)!)
}
print(A.contains(k) ? "Yes" : "No")