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ラーニングレベルアップ問題集の重複の削除をやってみました。


問題


方針

問題文中にある通り、数列を配列に格納し、並び替える操作や重複を削除する操作を考えて解いてみましょう。

  1. 数列$A$を、$A=\{1,3,5,1,2,3,6,6,5,1,4\}$とします
  2. 数列$A$を昇順ソートします
  3. $i=1,2,\dots,\#(A)$について
    • $i=1$または$A_i\neq A_{i-1}$(昇順ソートしているので$A_i>A_{i-1}$)ならば
      • $A_i$を出力します

C
#include <stdio.h>
#include <stdlib.h>

int cmp(const void *a, const void *b) {
	int x = *(int*) a;
	int y = *(int*) b;
	if (x < y) return -1;
	if (x > y) return 1;
	return 0;
}

int main() {
	int A[] = { 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 };
	int n = (int) (sizeof(A) / sizeof(A[0]));
	qsort(A, n, sizeof(A[0]), cmp);
	for (int i = 0; i < n; i++) {
		if (i > 0 && A[i] == A[i-1]) continue;
		printf("%d\n", A[i]);
	}
	return 0;
}

C++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
	vector<int> A = { 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 };
	sort(A.begin(), A.end());
	for(int i = 0; i < (int) A.size(); i++) {
		if (i > 0 && A[i] == A[i-1]) continue;
		cout << A[i] << endl;
	}
	return 0;
}

C#
using System;

class Program
{
	public static void Main()
	{
		int[] A = { 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 };
		Array.Sort(A);
		for (int i = 0; i < A.Length; i++) {
			if (i > 0 && A[i] == A[i-1]) continue;
			Console.WriteLine(A[i]);
		}
	}
}

Go
package main
import (
	"fmt"
	"sort"
)

func main() {
	A := []int{ 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 }
	sort.Ints(A)
	for i := 0; i < len(A); i++ {
		if i > 0 && A[i] == A[i-1] {
			continue
		}
		fmt.Println(A[i])
	}
}

Java
import java.util.*;

public class Main {
	public static void main(String[] args) {
		int[] A = { 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 };
		Arrays.sort(A);
		for (int i = 0; i < A.length; i++) {
			if (i > 0 && A[i] == A[i-1]) continue;
			System.out.println(A[i]);
		}
	}
}

JavaScript
const A = [ 1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4 ];
A.sort();
for (var i = 0; i < A.length; i++) {
	if (i > 0 && A[i] === A[i-1]) continue;
	console.log(A[i]);
}

Kotlin
fun main() {
	val A = arrayOf(1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4);
	A.sort()
	for (i in 0 until A.size) {
		if (i > 0 && A[i] == A[i-1]) continue
		println(A[i])	
	}
}

PHP
<?php
	$A = [1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4];
	sort($A);
	for ($i = 0; $i < count($A); $i++) {
		if ($i > 0 && $A[$i] === $A[$i-1]) continue;
		echo $A[$i], PHP_EOL;
	}
?>

Perl
my @A = (1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4);
@A = sort(@A);
for (my $i = 0; $i < scalar(@A); $i++) {
	if ($i == 0 || $A[$i] != $A[$i-1]) {
		print "$A[$i]$/";
	}
}

Python3
A = [1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4]
A.sort()
for i in range(len(A)):
	if i > 0 and A[i] == A[i-1]: continue
	print(A[i])

Ruby
A = [1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4]
A.sort!()
A.size.times do |i|
	if i > 0 && A[i] == A[i-1]
		next
	end
	p A[i]
end

Scala
object Main extends App{
	val A = Array(1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4)
	val B = A.sorted
	for (i <- 0 until B.size)
		if (i == 0 || B(i) != B(i-1))
			println(B(i))
}

Swift
var A = [1, 3, 5, 1, 2, 3, 6, 6, 5, 1, 4]
A.sort()
for i in 0..<A.count {
	if i > 0 && A[i] == A[i-1] {
		continue
	}
	print(A[i])
}
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?