Soru
Programcıya aynı veya farklı rakamlarda oluşan bir sayı dizisi (sayiDizisi) sunuluyor. Programcıdan ise öncelikle, dizide birbiri ile aynı olan rakamları yok etmesi, ardından elde kalan benzersiz rakamlar ile en küçük sayıyı elde etmesi isteniyor.
Örnek
Girdi | Çıktı |
---|---|
sayiDizisi: 7, 7, 4, 4, 1 | Sonuç: 147 |
sayiDizisi: 3, 3, 1 | Sonuç: 13 |
Çözüm - C#
using System;
using System.Linq;
internal class Program
{
private static void Main(string[] args)
{
int[] sayiDizisi = new[] {7, 7, 4, 4, 1};
string sonuc = "";
// Dizide birbiri ile aynı olan sayıları yok et
int[] yeniDizi = sayiDizisi.Distinct().ToArray();
// Yeni oluşturulan dizideki sayıları küçükten büyüğe sırala
Array.Sort(yeniDizi);
// Dizide bulunan sıralanmış sayıları string değişkene at
foreach (int sayilar in yeniDizi)
{
sonuc += sayilar.ToString();
}
Console.WriteLine(sonuc);
Console.Read();
}
}
Çözüm - Java
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
Integer[] sayiDizisi = {7, 7, 4, 4, 1};
String sonuc = "";
Set<Integer> yeniDizi = new TreeSet<>();
// Dizide birbiri ile aynı olan sayıları yok et
yeniDizi.addAll(Arrays.asList(sayiDizisi));
// Yeni oluşturulan dizideki sayıları küçükten büyüğe sırala
Arrays.sort(yeniDizi.toArray());
// Dizide bulunan sıralanmış sayıları string değişkene at
for (int sayilar : yeniDizi)
{
sonuc += sayilar;
}
System.out.println(sonuc);
}
}