paizaラーニングレベルアップ問題集の「配列の最大値/最小値」をやってみました。
問題
数列の最大値
配列の最大値
数列の最小値
配列の最小値
別に、半角空白区切り入力(ヨコ入力)を「数列」、改行区切り入力(タテ入力)を「配列」と言うわけではありません。ただ、「文字列配列」のことを誰も「数列」とは言わないですよね。
C
数列/配列の最大値
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int A[n];
for (int i = 0; i < n; i++) scanf("%d", &A[i]);
int max = A[0];
for (int i = 1; i < n; i++) if (A[i] > max) max = A[i];
printf("%d\n", max);
return 0;
}
数列/配列の最小値
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int A[n];
for (int i = 0; i < n; i++) scanf("%d", &A[i]);
int min = A[0];
for (int i = 1; i < n; i++) if (A[i] < min) min = A[i];
printf("%d\n", min);
return 0;
}
C++
数列/配列の最大値
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> A(n);
for (int i = 0; i < n; i++) cin >> A[i];
cout << *max_element(A.begin(), A.end()) << endl;
return 0;
}
数列/配列の最小値
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> A(n);
for (int i = 0; i < n; i++) cin >> A[i];
cout << *min_element(A.begin(), A.end()) << endl;
return 0;
}
C#
数列の最大値
using System;
using System.Linq;
class Program
{
public static void Main()
{
Console.ReadLine();
Console.WriteLine(Console.ReadLine().Split().Select(_ => int.Parse(_)).Max());
}
}
配列の最大値
using System;
using System.Linq;
class Program
{
public static void Main()
{
Console.WriteLine(Enumerable.Range(0, int.Parse(Console.ReadLine())).Select(_ => int.Parse(Console.ReadLine())).Max());
}
}
数列の最小値
using System;
using System.Linq;
class Program
{
public static void Main()
{
Console.ReadLine();
Console.WriteLine(Console.ReadLine().Split().Select(_ => int.Parse(_)).Min());
}
}
配列の最小値
using System;
using System.Linq;
class Program
{
public static void Main()
{
Console.WriteLine(Enumerable.Range(0, int.Parse(Console.ReadLine())).Select(_ => int.Parse(Console.ReadLine())).Min());
}
}
Go
数列/配列の最大値
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])
}
max := A[0]
for i := 1; i < n; i++ {
if A[i] > max {
max = A[i]
}
}
fmt.Println(max)
}
数列/配列の最小値
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])
}
min := A[0]
for i := 1; i < n; i++ {
if A[i] < min {
min = A[i]
}
}
fmt.Println(min)
}
Java
数列の最大値
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
System.out.println(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).max().getAsInt());
sc.close();
}
}
配列の最大値
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(IntStream.range(0, sc.nextInt()).map(i -> sc.nextInt()).max().getAsInt());
sc.close();
}
}
数列の最小値
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
System.out.println(Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).min().getAsInt());
sc.close();
}
}
配列の最小値
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(IntStream.range(0, sc.nextInt()).map(i -> sc.nextInt()).min().getAsInt());
sc.close();
}
}
JavaScript
数列の最大値
const [n, A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map((s, i) => i ? s.split(' ').map(Number) : Number(s));
console.log(Math.max(...A));
配列の最大値
const [n, ...A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(Number);
console.log(Math.max(...A));
数列の最小値
const [n, A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map((s, i) => i ? s.split(' ').map(Number) : Number(s));
console.log(Math.min(...A));
配列の最小値
const [n, ...A] = require("fs").readFileSync("/dev/stdin", "utf8").trim().split('\n').map(Number);
console.log(Math.min(...A));
Kotlin
数列の最大値
fun main() {
readLine()
println(readLine()!!.split(' ').map { it.toInt() }.max())
}
配列の最大値
fun main() {
println(Array(readLine()!!.toInt()) { readLine()!!.toInt() }.max())
}
数列の最小値
fun main() {
readLine()
println(readLine()!!.split(' ').map { it.toInt() }.min())
}
配列の最小値
fun main() {
println(Array(readLine()!!.toInt()) { readLine()!!.toInt() }.min())
}
PHP
数列の最大値
<?php
fgets(STDIN);
echo max(array_map("intval", explode(' ', fgets(STDIN)))), PHP_EOL;
?>
配列の最大値
<?php
$n = intval(fgets(STDIN));
$A = [];
for ($i = 0; $i < $n; $i++) $A[] = intval(fgets(STDIN));
echo max($A), PHP_EOL;
?>
数列の最小値
<?php
fgets(STDIN);
echo min(array_map("intval", explode(' ', fgets(STDIN)))), PHP_EOL;
?>
配列の最小値
<?php
$n = intval(fgets(STDIN));
$A = [];
for ($i = 0; $i < $n; $i++) $A[] = intval(fgets(STDIN));
echo min($A), PHP_EOL;
?>
Perl
数列の最大値
use List::Util qw(max);
my $n = int(<STDIN>);
my @A = map { int($_) } split ' ', <STDIN>;
print max(@A), $/;
配列の最大値
use List::Util qw(max);
my $n = int(<STDIN>);
my @A;
for (my $i = 0; $i < $n; $i++) {
push @A, int(<STDIN>);
}
print max(@A), $/;
数列の最小値
use List::Util qw(min);
my $n = int(<STDIN>);
my @A = map { int($_) } split ' ', <STDIN>;
print min(@A), $/;
配列の最小値
use List::Util qw(min);
my $n = int(<STDIN>);
my @A;
for (my $i = 0; $i < $n; $i++) {
push @A, int(<STDIN>);
}
print min(@A), $/;
Python3
数列の最大値
input()
print(max(map(int, input().split())))
配列の最大値
print(max(int(input()) for _ in range(int(input()))))
数列の最小値
input()
print(min(map(int, input().split())))
配列の最小値
print(min(int(input()) for _ in range(int(input()))))
Ruby
数列の最大値
gets
p gets.split.map(&:to_i).max
配列の最大値
p gets.to_i.times.map { gets.to_i }.max
数列の最小値
gets
p gets.split.map(&:to_i).min
配列の最小値
p gets.to_i.times.map { gets.to_i }.min
Scala
数列の最大値
import scala.io.StdIn._
object Main extends App{
readInt()
println(readLine().split(' ').map { _.toInt }.max)
}
配列の最大値
import scala.io.StdIn._
object Main extends App{
println((0 until readInt()).map { _ => readInt() }.max)
}
数列の最小値
import scala.io.StdIn._
object Main extends App{
readInt()
println(readLine().split(' ').map { _.toInt }.min)
}
配列の最小値
import scala.io.StdIn._
object Main extends App{
println((0 until readInt()).map { _ => readInt() }.min)
}
Swift
数列の最大値
let _ = readLine()
print(readLine()!.split(separator: " ").compactMap { Int($0) }.max()!)
配列の最大値
var A: [Int] = []
for _ in 0..<Int(readLine()!)! {
A.append(Int(readLine()!)!)
}
print(A.max()!)
数列の最小値
let _ = readLine()
print(readLine()!.split(separator: " ").compactMap { Int($0) }.min()!)
配列の最小値
var A: [Int] = []
for _ in 0..<Int(readLine()!)! {
A.append(Int(readLine()!)!)
}
print(A.min()!)