DN09 - Naloga 1-4

This commit is contained in:
Gašper Dobrovoljc 2024-05-10 00:12:13 +02:00
parent 275cb8559d
commit 3702347f5d
No known key found for this signature in database
GPG Key ID: 0E7E037018CFA5A5
12 changed files with 2687 additions and 0 deletions

View File

@ -18,5 +18,15 @@
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library name="JUnit4">
<CLASSES>
<root url="jar://$MODULE_DIR$/lib/junit-4.13.1.jar!/" />
<root url="jar://$MODULE_DIR$/lib/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

BIN
lib/hamcrest-core-1.3.jar Normal file

Binary file not shown.

BIN
lib/junit-4.13.1.jar Normal file

Binary file not shown.

354
src/DN09.java Normal file
View File

@ -0,0 +1,354 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
public class DN09 {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Ukaz manjka");
return;
}
Tekmovanje tekmovanje = Tekmovanje.izDatotek(args[1], args[2]);
assert tekmovanje != null;
switch (args[0]) {
case "izpisiTekmovanje":
tekmovanje.izpisiTekmovalce();
System.out.println();
tekmovanje.izpisiGlasove();
break;
case "izpisiTocke":
tekmovanje.izpisiGlasove();
break;
case "najboljse":
tekmovanje.izpisiRezultateUrejeno(Integer.parseInt(args[3]));
break;
case "utezeno":
tekmovanje.setKriterij(new UtezeniKriterij(Float.parseFloat(args[4]), Float.parseFloat(args[5])));
tekmovanje.izpisiRezultateUrejeno(Integer.parseInt(args[3]));
break;
default:
System.out.println("Neznan ukaz " + args[0]);
}
}
}
class Tekmovalec {
private String drzava, izvajalec, naslovPesmi;
Tekmovalec(String drzava, String izvajalec, String naslovPesmi) {
this.drzava = drzava;
this.izvajalec = izvajalec;
this.naslovPesmi = naslovPesmi;
}
String getDrzava() {
return drzava;
}
String getIzvajalec() {
return izvajalec;
}
String getNaslovPesmi() {
return naslovPesmi;
}
@Override
public String toString() {
return String.format("(%s) %s - %s", drzava, izvajalec, naslovPesmi);
}
}
class Glas {
private String odDrzave, zaDrzavo;
private int stTock;
Glas(String odDrzave, String zaDrzavo, int stTock) {
this.odDrzave = odDrzave;
this.zaDrzavo = zaDrzavo;
this.stTock = stTock;
}
public String getOdDrzave() {
return odDrzave;
}
public String getZaDrzavo() {
return zaDrzavo;
}
public int getStTock() {
return stTock;
}
@Override
public String toString() {
return String.format("%s --%dt-> %s", odDrzave, stTock, zaDrzavo);
}
}
class Tekmovanje {
private ArrayList<Tekmovalec> seznamTekmovalcev;
private ArrayList<Glas> seznamGlasov;
private Kriterij kriterij;
private boolean urejeno = false;
Tekmovanje(ArrayList<Tekmovalec> seznamTekmovalcev, ArrayList<Glas> seznamGlasov) {
this.seznamTekmovalcev = seznamTekmovalcev;
this.seznamGlasov = seznamGlasov;
this.kriterij = new OsnovniKriterij();
}
static Tekmovanje izDatotek(String datotekaTekmovalci, String datotekaGlasovi) {
Scanner scannerTekmovalci, scannerGlasovi;
try {
scannerTekmovalci = new Scanner(new File(datotekaTekmovalci));
scannerGlasovi = new Scanner(new File(datotekaGlasovi));
} catch (FileNotFoundException e) {
return null;
}
scannerTekmovalci.nextLine();
scannerGlasovi.nextLine();
ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>();
while (scannerTekmovalci.hasNextLine()) {
String[] fields = scannerTekmovalci.nextLine().split(";");
seznamTekmovalcev.add(new Tekmovalec(fields[1], fields[2], fields[3]));
}
ArrayList<Glas> seznamGlasov = new ArrayList<>();
while (scannerGlasovi.hasNextLine()) {
String[] fields = scannerGlasovi.nextLine().split(";");
switch (fields.length) {
case 5:
seznamGlasov.add(new Glas(fields[2], fields[3], Integer.parseInt(fields[4])));
break;
case 6:
seznamGlasov.add(new LocenGlas(fields[2], fields[3], Integer.parseInt(fields[4]),
Integer.parseInt(fields[5]), 0));
break;
case 7:
seznamGlasov.add(new LocenGlas(fields[2], fields[3], Integer.parseInt(fields[4]),
Integer.parseInt(fields[5]), Integer.parseInt(fields[6])));
break;
}
}
return new Tekmovanje(seznamTekmovalcev, seznamGlasov);
}
public ArrayList<Tekmovalec> getSeznamTekmovalcev() {
return seznamTekmovalcev;
}
public ArrayList<Glas> getSeznamGlasov() {
return seznamGlasov;
}
public void setKriterij(Kriterij kriterij) {
this.kriterij = kriterij;
urejeno = false;
}
void izpisiTekmovalce() {
if (seznamTekmovalcev.isEmpty()) {
System.out.println("Seznam tekmovalcev je prazen.");
return;
}
System.out.println("Seznam tekmovalcev:");
for (Tekmovalec tekmovalec : seznamTekmovalcev) {
System.out.println(tekmovalec);
}
}
void izpisiGlasove() {
if (seznamGlasov.isEmpty()) {
System.out.println("Seznam glasov je prazen.");
return;
}
System.out.println("Seznam glasov:");
for (Glas glas : seznamGlasov) {
System.out.println(glas);
}
}
int steviloTock(String drzava) {
return kriterij.steviloTock(this, drzava);
}
void izpisiTocke() {
if (seznamTekmovalcev.isEmpty()) {
System.out.println("Seznam tekmovalcev je prazen.");
return;
}
System.out.println("Seznam tekmovalcev in njihovih tock:");
for (Tekmovalec tekmovalec : seznamTekmovalcev) {
System.out.printf("%s: %dt\n", tekmovalec, steviloTock(tekmovalec.getDrzava()));
}
}
Tekmovalec getZmagovalec() {
int maxTocke = 0;
Tekmovalec maxTekmovalec = null;
for (Tekmovalec tekmovalec : seznamTekmovalcev) {
int tocke = steviloTock(tekmovalec.getDrzava());
if (tocke > maxTocke) {
maxTekmovalec = tekmovalec;
maxTocke = tocke;
}
}
return maxTekmovalec;
}
void urediPoTockah() {
seznamTekmovalcev.sort((Tekmovalec a, Tekmovalec b) ->
steviloTock(b.getDrzava()) - steviloTock(a.getDrzava())
);
urejeno = true;
}
int getMesto(String drzava) {
if (!urejeno) {
urediPoTockah();
}
for (Tekmovalec tekmovalec : seznamTekmovalcev) {
if (tekmovalec.getDrzava().equals(drzava)) {
return seznamTekmovalcev.indexOf(tekmovalec) + 1;
}
}
return -1;
}
void izpisiRezultateUrejeno(int n) {
if (!urejeno) {
urediPoTockah();
}
System.out.println("Najboljse uvrsceni tekmovalci:");
int i = 1;
for (Tekmovalec tekmovalec : seznamTekmovalcev) {
if (i > n) break;
System.out.printf("%d. %s: %dt\n", i, tekmovalec, steviloTock(tekmovalec.getDrzava()));
i++;
}
}
}
interface Kriterij {
int steviloTock(Tekmovanje tekmovanje, String drzava);
}
class OsnovniKriterij implements Kriterij {
@Override
public int steviloTock(Tekmovanje tekmovanje, String drzava) {
int tocke = 0;
for (Glas glas : tekmovanje.getSeznamGlasov()) {
if (glas.getZaDrzavo().equals(drzava)) {
tocke += glas.getStTock();
}
}
return tocke;
}
}
class LocenGlas extends Glas {
private int stTockGlasovi, stTockZirija;
public LocenGlas(String odDrzave, String zaDrzavo, int stTock, int stTockGlasovi, int stTockZirija) {
super(odDrzave, zaDrzavo, stTock);
this.stTockGlasovi = stTockGlasovi;
this.stTockZirija = stTockZirija;
}
public int getStTockGlasovi() {
return stTockGlasovi;
}
public int getStTockZirija() {
return stTockZirija;
}
}
class UtezeniKriterij implements Kriterij {
private float utezGlasovanja, utezZirija;
UtezeniKriterij(float utezGlasovanja, float utezZirije) {
this.utezGlasovanja = utezGlasovanja;
this.utezZirija = utezZirije;
}
@Override
public int steviloTock(Tekmovanje tekmovanje, String drzava) {
float tocke = 0;
for (Glas glas : tekmovanje.getSeznamGlasov()) {
if (glas.getZaDrzavo().equals(drzava)) {
if (glas instanceof LocenGlas locenGlas) {
tocke += locenGlas.getStTockZirija() * utezZirija
+ locenGlas.getStTockGlasovi() * utezGlasovanja;
} else {
tocke += glas.getStTock() * utezZirija;
}
}
}
return Math.round(tocke);
}
}
class ZgodovinaTekmovanj {
private ArrayList<Tekmovanje> seznamTekmovanj;
ZgodovinaTekmovanj(ArrayList<Tekmovanje> seznamTekmovanj) {
this.seznamTekmovanj = seznamTekmovanj;
}
// public static ZgodovinaTekmovanj izDatotek(String datotekaTekmovalci, String datotekaGlasovi) {
// Scanner scannerTekmovalci, scannerGlasovi;
//
// try {
// scannerTekmovalci = new Scanner(new File(datotekaTekmovalci));
// scannerGlasovi = new Scanner(new File(datotekaGlasovi));
// } catch (FileNotFoundException e) {
// return null;
// }
//
// scannerTekmovalci.nextLine();
// scannerGlasovi.nextLine();
//
// ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>();
// while (scannerTekmovalci.hasNextLine()) {
// String[] fields = scannerTekmovalci.nextLine().split(";");
// seznamTekmovalcev.add(new Tekmovalec(fields[1], fields[2], fields[3]));
// }
//
// ArrayList<Glas> seznamGlasov = new ArrayList<>();
// while (scannerGlasovi.hasNextLine()) {
// String[] fields = scannerGlasovi.nextLine().split(";");
// switch (fields.length) {
// case 5:
// seznamGlasov.add(new Glas(fields[2], fields[3], Integer.parseInt(fields[4])));
// break;
// case 6:
// seznamGlasov.add(new LocenGlas(fields[2], fields[3], Integer.parseInt(fields[4]),
// Integer.parseInt(fields[5]), 0));
// break;
// case 7:
// seznamGlasov.add(new LocenGlas(fields[2], fields[3], Integer.parseInt(fields[4]),
// Integer.parseInt(fields[5]), Integer.parseInt(fields[6])));
// break;
// }
// }
// }
}

109
src/DN09Test01.java Normal file
View File

@ -0,0 +1,109 @@
import org.junit.*;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
public class DN09Test01 {
Tekmovanje tekmovanje;
Tekmovanje miniTekmovanje;
Tekmovanje praznoTekmovanje;
@Before
public void init() {
tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>(Arrays.asList(
new Tekmovalec("Češka", "Vesna", "My Sister's Crown"),
new Tekmovalec("Armenija", "Brunette", "Future Lover"),
new Tekmovalec("Islandija", "Diljá", "Power")
));
ArrayList<Glas> seznamGlasov = new ArrayList<>(Arrays.asList(
new Glas("Češka", "Islandija", 6),
new Glas("Armenija", "Islandija", 6),
new Glas("Armenija", "Češka", 4),
new Glas("Islandija", "Češka", 0)
));
// Tekmovanje mora imeti ustrezen konstruktor
miniTekmovanje = new Tekmovanje(seznamTekmovalcev, seznamGlasov);
// Prazno tekmovanje
praznoTekmovanje = new Tekmovanje(new ArrayList<>(), new ArrayList<>());
}
@Test
public void testBranje() {
// Manjkajoca datoteka mora vracati null
Assert.assertNull(Tekmovanje.izDatotek("manjkajocaDatoteka.csv", "manjkajocaDatoteka.csv"));
// Preveri stevilo prebranih tekmovalcev in glasov
Assert.assertNotNull(tekmovanje);
Assert.assertEquals(tekmovanje.getSeznamTekmovalcev().size(), 37);
Assert.assertEquals(tekmovanje.getSeznamGlasov().size(), 554);
Tekmovalec t = tekmovanje.getSeznamTekmovalcev().get(0);
Assert.assertEquals(t.getDrzava(), "Albanija");
}
@Test
public void testToString() {
Tekmovalec t = new Tekmovalec("Izrael", "Noa Kirel", "Unicorn");
Assert.assertEquals(t.toString(), "(Izrael) Noa Kirel - Unicorn");
Glas g = new Glas("Slovenija", "Hrvaška", 10);
Assert.assertEquals(g.toString(), "Slovenija --10t-> Hrvaška");
}
@Test
public void testIzpis() {
// Testira `izpisiTekmovalce()` in `izpisiGlasove()`
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
miniTekmovanje.izpisiTekmovalce();
miniTekmovanje.izpisiGlasove();
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Seznam tekmovalcev:\n" +
"(Češka) Vesna - My Sister's Crown\n" +
"(Armenija) Brunette - Future Lover\n" +
"(Islandija) Diljá - Power\n" +
"Seznam glasov:\n" +
"Češka --6t-> Islandija\n" +
"Armenija --6t-> Islandija\n" +
"Armenija --4t-> Češka\n" +
"Islandija --0t-> Češka\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
System.out.println(expected);
}
@Test
public void testIzpisPrazna() {
// Testira `izpisiTekmovalce()` in `izpisiGlasove()` v primeru prazenga tekmovanja
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
praznoTekmovanje.izpisiTekmovalce();
praznoTekmovanje.izpisiGlasove();
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Seznam tekmovalcev je prazen.\n" +
"Seznam glasov je prazen.\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
System.out.println(expected);
}
}

114
src/DN09Test02.java Normal file
View File

@ -0,0 +1,114 @@
import org.junit.*;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
public class DN09Test02 {
Tekmovanje miniTekmovanje;
Tekmovanje praznoTekmovanje;
@Before
public void init(){
ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>(Arrays.asList(
new Tekmovalec("Češka", "Vesna", "My Sister's Crown"),
new Tekmovalec("Armenija", "Brunette", "Future Lover"),
new Tekmovalec("Islandija", "Diljá", "Power")
));
ArrayList<Glas> seznamGlasov = new ArrayList<>(Arrays.asList(
new Glas("Češka", "Islandija", 6),
new Glas("Armenija", "Islandija", 6),
new Glas("Armenija", "Češka", 4),
new Glas("Islandija", "Češka", 0)
));
miniTekmovanje = new Tekmovanje(seznamTekmovalcev, seznamGlasov);
// Prazno tekmovanje
praznoTekmovanje = new Tekmovanje(new ArrayList<>(), new ArrayList<>());
}
@Test
public void testOsnovniKriterij() {
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
OsnovniKriterij k = new OsnovniKriterij();
Assert.assertEquals(k.steviloTock(tekmovanje, "Slovenija"), 78);
Assert.assertEquals(k.steviloTock(tekmovanje, "Švedska"), 583);
Assert.assertEquals(k.steviloTock(tekmovanje, "Irska"), 0);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Armenija"), 0);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Islandija"), 12);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Češka"), 4);
}
@Test
public void testStTock(){
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
Assert.assertEquals(tekmovanje.steviloTock("Slovenija"), 78);
Assert.assertEquals(tekmovanje.steviloTock("Švedska"), 583);
Assert.assertEquals(tekmovanje.steviloTock("Irska"), 0);
Assert.assertEquals(miniTekmovanje.steviloTock("Armenija"), 0);
Assert.assertEquals(miniTekmovanje.steviloTock("Islandija"), 12);
Assert.assertEquals(miniTekmovanje.steviloTock("Češka"), 4);
// Testni kriterij, ki vraca toliko tock, kot je crk v imenu drzave
Kriterij mojKriterij = new Kriterij() {
@Override
public int steviloTock(Tekmovanje tekmovanje, String drzava) {
return drzava.length();
}
};
// Testiranje nastavljanja kriterija
tekmovanje.setKriterij(mojKriterij);
Assert.assertEquals(tekmovanje.steviloTock("Slovenija"), 9);
Assert.assertEquals(tekmovanje.steviloTock("Švedska"), 7);
Assert.assertEquals(tekmovanje.steviloTock("Irska"), 5);
}
@Test
public void testIzpis(){
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
miniTekmovanje.izpisiTocke();
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Seznam tekmovalcev in njihovih tock:\n" +
"(Češka) Vesna - My Sister's Crown: 4t\n" +
"(Armenija) Brunette - Future Lover: 0t\n" +
"(Islandija) Diljá - Power: 12t\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
System.out.println(expected);
}
@Test
public void testIzpisPrazna(){
// Testira `izpisiTekmovalce()` in `izpisiGlasove()` v primeru prazenga tekmovanja
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
praznoTekmovanje.izpisiTocke();
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Seznam tekmovalcev je prazen.\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
System.out.println(expected);
}
}

130
src/DN09Test03.java Normal file
View File

@ -0,0 +1,130 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
public class DN09Test03 {
Tekmovanje miniTekmovanje;
Tekmovanje praznoTekmovanje;
@Before
public void init() {
ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>(Arrays.asList(
new Tekmovalec("Češka", "Vesna", "My Sister's Crown"),
new Tekmovalec("Armenija", "Brunette", "Future Lover"),
new Tekmovalec("Islandija", "Diljá", "Power")
));
ArrayList<Glas> seznamGlasov = new ArrayList<>(Arrays.asList(
new Glas("Češka", "Islandija", 6),
new Glas("Armenija", "Islandija", 6),
new Glas("Armenija", "Češka", 4),
new Glas("Islandija", "Češka", 0)
));
miniTekmovanje = new Tekmovanje(seznamTekmovalcev, seznamGlasov);
// Prazno tekmovanje
praznoTekmovanje = new Tekmovanje(new ArrayList<>(), new ArrayList<>());
}
@Test
public void testIzpisZmagovalca() {
// Testira izpis zmagovalca
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
OsnovniKriterij k = new OsnovniKriterij();
tekmovanje.setKriterij(k);
Tekmovalec zmagovalec = tekmovanje.getZmagovalec();
Assert.assertEquals(zmagovalec.getDrzava(), "Švedska");
Assert.assertEquals(miniTekmovanje.getZmagovalec().getDrzava(), "Islandija");
}
@Test
public void testMestoDrzave() {
// Testira mesto države
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
OsnovniKriterij k = new OsnovniKriterij();
tekmovanje.setKriterij(k);
int mesto = tekmovanje.getMesto("Nizozemska");
Assert.assertEquals(mesto, 32);
// Za manjkajoce drzave metoda vrne -1
int mesto2 = tekmovanje.getMesto("Slovenijaaaa");
Assert.assertEquals(mesto2, -1);
int mesto3 = tekmovanje.getMesto("Slovenija");
Assert.assertEquals(mesto3, 21);
}
@Test
public void testIzpisNajboljsihDrzav() {
// Testira izpis najboljših držav
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
OsnovniKriterij k = new OsnovniKriterij();
tekmovanje.setKriterij(k);
tekmovanje.izpisiRezultateUrejeno(5);
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Najboljse uvrsceni tekmovalci:\n" +
"1. (Švedska) Loreen - Tattoo: 583t\n" +
"2. (Finska) Käärijä - Cha Cha Cha: 526t\n" +
"3. (Izrael) Noa Kirel - Unicorn: 362t\n" +
"4. (Italija) Marco Mengoni - Due vite: 350t\n" +
"5. (Norveška) Alessandra - Queen of Kings: 268t\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
}
@Test
public void testIzpisNajboljsihDrzav2() {
// Testira izpis, ce je držav vec kot argument funkcije
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
OsnovniKriterij k = new OsnovniKriterij();
miniTekmovanje.setKriterij(k);
miniTekmovanje.izpisiRezultateUrejeno(5);
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Najboljse uvrsceni tekmovalci:\n" +
"1. (Islandija) Diljá - Power: 12t\n" +
"2. (Češka) Vesna - My Sister's Crown: 4t\n" +
"3. (Armenija) Brunette - Future Lover: 0t\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
}
}

91
src/DN09Test04.java Normal file
View File

@ -0,0 +1,91 @@
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
public class DN09Test04 {
Tekmovanje miniTekmovanje;
Tekmovanje praznoTekmovanje;
@Before
public void init() {
ArrayList<Tekmovalec> seznamTekmovalcev = new ArrayList<>(Arrays.asList(
new Tekmovalec("Češka", "Vesna", "My Sister's Crown"),
new Tekmovalec("Armenija", "Brunette", "Future Lover"),
new Tekmovalec("Islandija", "Diljá", "Power")
));
ArrayList<Glas> seznamGlasov = new ArrayList<>(Arrays.asList(
new Glas("Češka", "Islandija", 6),
new Glas("Armenija", "Islandija", 6),
new Glas("Armenija", "Češka", 4),
new Glas("Islandija", "Češka", 0)
));
miniTekmovanje = new Tekmovanje(seznamTekmovalcev, seznamGlasov);
// Prazno tekmovanje
praznoTekmovanje = new Tekmovanje(new ArrayList<>(), new ArrayList<>());
}
@Test
public void testLocenGlas() {
// Testira locenGlas
// Konstruktor mora slediti navodilom
LocenGlas locenGlas = new LocenGlas("Islandija", "Češka", 10, 8, 2);
Assert.assertNotNull(locenGlas);
}
@Test
public void testUtezeniKriterij() {
// Testira delovanje uteženega kriterija
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
UtezeniKriterij k = new UtezeniKriterij(0.1f, 5.3f);
Assert.assertEquals(k.steviloTock(tekmovanje, "Slovenija"), 179);
Assert.assertEquals(k.steviloTock(tekmovanje, "Švedska"), 1826);
Assert.assertEquals(k.steviloTock(tekmovanje, "Irska"), 0);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Armenija"), 0);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Islandija"), 64);
Assert.assertEquals(k.steviloTock(miniTekmovanje, "Češka"), 21);
}
@Test
public void preveriIzpisDrzav() {
// Testira izpis držav z uteženim kriterijem
PrintStream orig = System.out;
final ByteArrayOutputStream myOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(myOut));
Tekmovanje tekmovanje = Tekmovanje.izDatotek("viri/tekmovalci_2023.csv", "viri/glasovi_2023.csv");
UtezeniKriterij k = new UtezeniKriterij(0.2f, 12f);
tekmovanje.setKriterij(k);
tekmovanje.izpisiRezultateUrejeno(5);
final String stdOut = myOut.toString();
System.setOut(orig);
String expected = "Najboljse uvrsceni tekmovalci:\n" +
"1. (Švedska) Loreen - Tattoo: 4129t\n" +
"2. (Izrael) Noa Kirel - Unicorn: 2161t\n" +
"3. (Italija) Marco Mengoni - Due vite: 2147t\n" +
"4. (Finska) Käärijä - Cha Cha Cha: 1875t\n" +
"5. (Estonija) Alika - Bridges: 1756t\n";
Assert.assertEquals(stdOut.trim().replace("\r", ""), expected.trim().replace("\r", ""));
}
}

555
viri/glasovi_2023.csv Normal file
View File

@ -0,0 +1,555 @@
leto;krog;od_drzave;za_drzavo;skupaj_tocke;glasovanje_tocke;zirija_tocke
2023;finale;Albanija;Švedska;22;10;12
2023;finale;Albanija;Finska;6;6;0
2023;finale;Albanija;Izrael;11;5;6
2023;finale;Albanija;Italija;14;12;2
2023;finale;Albanija;Norveška;4;4;0
2023;finale;Albanija;Belgija;5;0;5
2023;finale;Albanija;Estonija;8;0;8
2023;finale;Albanija;Avstralija;3;0;3
2023;finale;Albanija;Ciper;11;7;4
2023;finale;Albanija;Hrvaška;8;8;0
2023;finale;Albanija;Armenija;10;0;10
2023;finale;Albanija;Francija;3;3;0
2023;finale;Albanija;Španija;1;0;1
2023;finale;Albanija;Poljska;1;1;0
2023;finale;Albanija;Švica;7;0;7
2023;finale;Albanija;Slovenija;2;2;0
2023;finale;Armenija;Švedska;17;7;10
2023;finale;Armenija;Finska;14;6;8
2023;finale;Armenija;Izrael;24;12;12
2023;finale;Armenija;Italija;3;3;0
2023;finale;Armenija;Norveška;8;4;4
2023;finale;Armenija;Ukrajina;4;1;3
2023;finale;Armenija;Ciper;13;8;5
2023;finale;Armenija;Avstrija;2;0;2
2023;finale;Armenija;Francija;17;10;7
2023;finale;Armenija;Španija;6;0;6
2023;finale;Armenija;Poljska;6;5;1
2023;finale;Armenija;Švica;2;2;0
2023;finale;Avstralija;Švedska;17;10;7
2023;finale;Avstralija;Finska;17;12;5
2023;finale;Avstralija;Izrael;5;5;0
2023;finale;Avstralija;Italija;1;0;1
2023;finale;Avstralija;Norveška;6;6;0
2023;finale;Avstralija;Belgija;15;3;12
2023;finale;Avstralija;Estonija;8;0;8
2023;finale;Avstralija;Litva;10;0;10
2023;finale;Avstralija;Ciper;11;8;3
2023;finale;Avstralija;Hrvaška;4;4;0
2023;finale;Avstralija;Avstrija;13;7;6
2023;finale;Avstralija;Francija;2;2;0
2023;finale;Avstralija;Španija;4;0;4
2023;finale;Avstralija;Slovenija;1;1;0
2023;finale;Avstralija;Portugalska;2;0;2
2023;finale;Avstrija;Švedska;14;4;10
2023;finale;Avstrija;Finska;20;12;8
2023;finale;Avstrija;Izrael;1;1;0
2023;finale;Avstrija;Italija;20;8;12
2023;finale;Avstrija;Norveška;7;7;0
2023;finale;Avstrija;Ukrajina;5;5;0
2023;finale;Avstrija;Belgija;3;0;3
2023;finale;Avstrija;Češka;5;0;5
2023;finale;Avstrija;Litva;7;0;7
2023;finale;Avstrija;Ciper;2;0;2
2023;finale;Avstrija;Hrvaška;10;10;0
2023;finale;Avstrija;Armenija;1;0;1
2023;finale;Avstrija;Švica;6;2;4
2023;finale;Avstrija;Slovenija;6;0;6
2023;finale;Avstrija;Albanija;3;3;0
2023;finale;Avstrija;Nemčija;6;6;0
2023;finale;Azerbajdžan;Švedska;20;10;10
2023;finale;Azerbajdžan;Finska;11;8;3
2023;finale;Azerbajdžan;Izrael;24;12;12
2023;finale;Azerbajdžan;Italija;10;4;6
2023;finale;Azerbajdžan;Norveška;2;2;0
2023;finale;Azerbajdžan;Ukrajina;9;7;2
2023;finale;Azerbajdžan;Estonija;1;0;1
2023;finale;Azerbajdžan;Avstralija;5;0;5
2023;finale;Azerbajdžan;Češka;3;3;0
2023;finale;Azerbajdžan;Ciper;6;6;0
2023;finale;Azerbajdžan;Španija;7;0;7
2023;finale;Azerbajdžan;Švica;5;1;4
2023;finale;Azerbajdžan;Slovenija;5;5;0
2023;finale;Azerbajdžan;Albanija;8;0;8
2023;finale;Belgija;Švedska;18;10;8
2023;finale;Belgija;Finska;17;12;5
2023;finale;Belgija;Izrael;15;5;10
2023;finale;Belgija;Italija;14;7;7
2023;finale;Belgija;Norveška;8;8;0
2023;finale;Belgija;Ukrajina;1;1;0
2023;finale;Belgija;Avstralija;4;0;4
2023;finale;Belgija;Češka;3;0;3
2023;finale;Belgija;Armenija;6;6;0
2023;finale;Belgija;Avstrija;12;0;12
2023;finale;Belgija;Francija;3;2;1
2023;finale;Belgija;Španija;6;0;6
2023;finale;Belgija;Poljska;6;4;2
2023;finale;Belgija;Albanija;3;3;0
2023;finale;Hrvaška;Švedska;12;2;10
2023;finale;Hrvaška;Finska;17;10;7
2023;finale;Hrvaška;Izrael;12;4;8
2023;finale;Hrvaška;Italija;20;8;12
2023;finale;Hrvaška;Norveška;5;5;0
2023;finale;Hrvaška;Estonija;3;0;3
2023;finale;Hrvaška;Češka;3;3;0
2023;finale;Hrvaška;Španija;6;0;6
2023;finale;Hrvaška;Moldavija;3;1;2
2023;finale;Hrvaška;Slovenija;17;12;5
2023;finale;Hrvaška;Albanija;6;6;0
2023;finale;Hrvaška;Portugalska;1;0;1
2023;finale;Hrvaška;Srbija;11;7;4
2023;finale;Ciper;Švedska;20;8;12
2023;finale;Ciper;Finska;10;7;3
2023;finale;Ciper;Izrael;19;12;7
2023;finale;Ciper;Italija;11;6;5
2023;finale;Ciper;Norveška;5;5;0
2023;finale;Ciper;Ukrajina;10;10;0
2023;finale;Ciper;Avstralija;8;0;8
2023;finale;Ciper;Češka;1;0;1
2023;finale;Ciper;Armenija;8;4;4
2023;finale;Ciper;Avstrija;10;0;10
2023;finale;Ciper;Francija;3;3;0
2023;finale;Ciper;Španija;6;0;6
2023;finale;Ciper;Moldavija;1;1;0
2023;finale;Ciper;Poljska;2;2;0
2023;finale;Ciper;Švica;2;0;2
2023;finale;Češka;Švedska;16;6;10
2023;finale;Češka;Finska;15;10;5
2023;finale;Češka;Izrael;8;8;0
2023;finale;Češka;Italija;5;1;4
2023;finale;Češka;Norveška;7;7;0
2023;finale;Češka;Ukrajina;24;12;12
2023;finale;Češka;Estonija;2;0;2
2023;finale;Češka;Avstralija;7;0;7
2023;finale;Češka;Hrvaška;4;4;0
2023;finale;Češka;Armenija;10;2;8
2023;finale;Češka;Španija;3;0;3
2023;finale;Češka;Moldavija;5;5;0
2023;finale;Češka;Slovenija;9;3;6
2023;finale;Češka;Nemčija;1;0;1
2023;finale;Danska;Švedska;20;8;12
2023;finale;Danska;Finska;20;12;8
2023;finale;Danska;Italija;3;3;0
2023;finale;Danska;Norveška;20;10;10
2023;finale;Danska;Ukrajina;7;7;0
2023;finale;Danska;Belgija;9;6;3
2023;finale;Danska;Avstralija;2;0;2
2023;finale;Danska;Litva;4;0;4
2023;finale;Danska;Ciper;7;2;5
2023;finale;Danska;Avstrija;7;0;7
2023;finale;Danska;Francija;6;0;6
2023;finale;Danska;Moldavija;1;1;0
2023;finale;Danska;Poljska;5;5;0
2023;finale;Danska;Švica;4;4;0
2023;finale;Danska;Velika Britanija;1;0;1
2023;finale;Estonija;Švedska;22;10;12
2023;finale;Estonija;Finska;22;12;10
2023;finale;Estonija;Izrael;4;0;4
2023;finale;Estonija;Italija;7;2;5
2023;finale;Estonija;Norveška;7;7;0
2023;finale;Estonija;Ukrajina;15;8;7
2023;finale;Estonija;Belgija;6;0;6
2023;finale;Estonija;Avstralija;14;6;8
2023;finale;Estonija;Litva;6;5;1
2023;finale;Estonija;Armenija;3;0;3
2023;finale;Estonija;Španija;2;0;2
2023;finale;Estonija;Poljska;3;3;0
2023;finale;Estonija;Švica;4;4;0
2023;finale;Estonija;Slovenija;1;1;0
2023;finale;Finska;Švedska;12;0;12
2023;finale;Finska;Italija;6;0;6
2023;finale;Finska;Norveška;12;12;0
2023;finale;Finska;Belgija;5;0;5
2023;finale;Finska;Estonija;6;6;0
2023;finale;Finska;Avstralija;8;8;0
2023;finale;Finska;Češka;18;10;8
2023;finale;Finska;Ciper;1;0;1
2023;finale;Finska;Hrvaška;4;4;0
2023;finale;Finska;Avstrija;4;2;2
2023;finale;Finska;Francija;7;0;7
2023;finale;Finska;Moldavija;3;3;0
2023;finale;Finska;Švica;11;1;10
2023;finale;Finska;Slovenija;7;7;0
2023;finale;Finska;Portugalska;3;0;3
2023;finale;Finska;Velika Britanija;4;0;4
2023;finale;Finska;Nemčija;5;5;0
2023;finale;Francija;Švedska;9;3;6
2023;finale;Francija;Finska;14;6;8
2023;finale;Francija;Izrael;22;10;12
2023;finale;Francija;Italija;9;7;2
2023;finale;Francija;Norveška;1;1;0
2023;finale;Francija;Ukrajina;5;4;1
2023;finale;Francija;Belgija;2;2;0
2023;finale;Francija;Češka;4;0;4
2023;finale;Francija;Armenija;19;12;7
2023;finale;Francija;Avstrija;10;0;10
2023;finale;Francija;Moldavija;8;8;0
2023;finale;Francija;Švica;3;0;3
2023;finale;Francija;Portugalska;10;5;5
2023;finale;Gruzija;Švedska;11;7;4
2023;finale;Gruzija;Finska;9;8;1
2023;finale;Gruzija;Izrael;13;6;7
2023;finale;Gruzija;Italija;13;5;8
2023;finale;Gruzija;Norveška;2;2;0
2023;finale;Gruzija;Ukrajina;10;10;0
2023;finale;Gruzija;Belgija;12;0;12
2023;finale;Gruzija;Estonija;5;0;5
2023;finale;Gruzija;Avstralija;2;0;2
2023;finale;Gruzija;Litva;10;4;6
2023;finale;Gruzija;Ciper;3;0;3
2023;finale;Gruzija;Hrvaška;1;1;0
2023;finale;Gruzija;Armenija;22;12;10
2023;finale;Gruzija;Moldavija;3;3;0
2023;finale;Nemčija;Švedska;13;1;12
2023;finale;Nemčija;Finska;12;12;0
2023;finale;Nemčija;Italija;14;10;4
2023;finale;Nemčija;Norveška;11;5;6
2023;finale;Nemčija;Ukrajina;7;7;0
2023;finale;Nemčija;Belgija;2;2;0
2023;finale;Nemčija;Estonija;10;0;10
2023;finale;Nemčija;Avstralija;8;0;8
2023;finale;Nemčija;Češka;5;0;5
2023;finale;Nemčija;Litva;1;0;1
2023;finale;Nemčija;Hrvaška;6;6;0
2023;finale;Nemčija;Avstrija;2;0;2
2023;finale;Nemčija;Španija;7;0;7
2023;finale;Nemčija;Poljska;4;4;0
2023;finale;Nemčija;Švica;3;3;0
2023;finale;Nemčija;Albanija;8;8;0
2023;finale;Nemčija;Srbija;3;0;3
2023;finale;Grčija;Švedska;14;8;6
2023;finale;Grčija;Finska;10;10;0
2023;finale;Grčija;Izrael;15;7;8
2023;finale;Grčija;Italija;5;5;0
2023;finale;Grčija;Norveška;6;6;0
2023;finale;Grčija;Belgija;12;0;12
2023;finale;Grčija;Avstralija;5;0;5
2023;finale;Grčija;Češka;1;1;0
2023;finale;Grčija;Ciper;16;12;4
2023;finale;Grčija;Armenija;2;2;0
2023;finale;Grčija;Avstrija;7;0;7
2023;finale;Grčija;Francija;3;3;0
2023;finale;Grčija;Švica;2;0;2
2023;finale;Grčija;Albanija;7;4;3
2023;finale;Grčija;Portugalska;10;0;10
2023;finale;Grčija;Srbija;1;0;1
2023;finale;Islandija;Švedska;17;10;7
2023;finale;Islandija;Finska;22;12;10
2023;finale;Islandija;Italija;1;1;0
2023;finale;Islandija;Norveška;12;8;4
2023;finale;Islandija;Ukrajina;2;2;0
2023;finale;Islandija;Belgija;11;6;5
2023;finale;Islandija;Avstralija;15;3;12
2023;finale;Islandija;Češka;6;0;6
2023;finale;Islandija;Hrvaška;5;5;0
2023;finale;Islandija;Avstrija;8;0;8
2023;finale;Islandija;Francija;4;4;0
2023;finale;Islandija;Španija;3;0;3
2023;finale;Islandija;Poljska;7;7;0
2023;finale;Islandija;Srbija;1;0;1
2023;finale;Islandija;Nemčija;2;0;2
2023;finale;Irska;Švedska;18;6;12
2023;finale;Irska;Finska;20;12;8
2023;finale;Irska;Izrael;8;1;7
2023;finale;Irska;Norveška;5;5;0
2023;finale;Irska;Ukrajina;7;7;0
2023;finale;Irska;Belgija;13;3;10
2023;finale;Irska;Avstralija;4;0;4
2023;finale;Irska;Češka;3;0;3
2023;finale;Irska;Litva;11;10;1
2023;finale;Irska;Hrvaška;2;2;0
2023;finale;Irska;Armenija;6;0;6
2023;finale;Irska;Francija;5;0;5
2023;finale;Irska;Moldavija;4;4;0
2023;finale;Irska;Poljska;8;8;0
2023;finale;Irska;Velika Britanija;2;0;2
2023;finale;Izrael;Švedska;16;4;12
2023;finale;Izrael;Finska;20;12;8
2023;finale;Izrael;Italija;7;7;0
2023;finale;Izrael;Norveška;20;10;10
2023;finale;Izrael;Ukrajina;15;8;7
2023;finale;Izrael;Belgija;3;0;3
2023;finale;Izrael;Estonija;5;0;5
2023;finale;Izrael;Češka;6;2;4
2023;finale;Izrael;Ciper;1;0;1
2023;finale;Izrael;Hrvaška;6;6;0
2023;finale;Izrael;Armenija;3;3;0
2023;finale;Izrael;Avstrija;6;0;6
2023;finale;Izrael;Francija;1;1;0
2023;finale;Izrael;Moldavija;5;5;0
2023;finale;Izrael;Poljska;2;0;2
2023;finale;Italija;Švedska;11;3;8
2023;finale;Italija;Finska;6;6;0
2023;finale;Italija;Izrael;17;5;12
2023;finale;Italija;Norveška;10;10;0
2023;finale;Italija;Ukrajina;18;8;10
2023;finale;Italija;Belgija;2;0;2
2023;finale;Italija;Estonija;6;0;6
2023;finale;Italija;Češka;9;2;7
2023;finale;Italija;Litva;3;0;3
2023;finale;Italija;Hrvaška;4;4;0
2023;finale;Italija;Armenija;5;0;5
2023;finale;Italija;Moldavija;12;12;0
2023;finale;Italija;Švica;5;1;4
2023;finale;Italija;Albanija;7;7;0
2023;finale;Italija;Srbija;1;0;1
2023;finale;Latvija;Švedska;18;8;10
2023;finale;Latvija;Finska;12;12;0
2023;finale;Latvija;Izrael;10;5;5
2023;finale;Latvija;Italija;3;0;3
2023;finale;Latvija;Norveška;3;3;0
2023;finale;Latvija;Ukrajina;11;7;4
2023;finale;Latvija;Belgija;2;0;2
2023;finale;Latvija;Estonija;18;6;12
2023;finale;Latvija;Češka;1;1;0
2023;finale;Latvija;Litva;17;10;7
2023;finale;Latvija;Ciper;6;0;6
2023;finale;Latvija;Hrvaška;4;4;0
2023;finale;Latvija;Armenija;1;0;1
2023;finale;Latvija;Španija;8;0;8
2023;finale;Latvija;Slovenija;2;2;0
2023;finale;Litva;Švedska;19;7;12
2023;finale;Litva;Finska;15;12;3
2023;finale;Litva;Izrael;13;3;10
2023;finale;Litva;Italija;6;6;0
2023;finale;Litva;Ukrajina;12;10;2
2023;finale;Litva;Belgija;7;0;7
2023;finale;Litva;Estonija;10;5;5
2023;finale;Litva;Avstralija;4;0;4
2023;finale;Litva;Ciper;1;0;1
2023;finale;Litva;Hrvaška;4;4;0
2023;finale;Litva;Avstrija;8;0;8
2023;finale;Litva;Francija;7;1;6
2023;finale;Litva;Moldavija;2;2;0
2023;finale;Litva;Poljska;8;8;0
2023;finale;Malta;Švedska;22;10;12
2023;finale;Malta;Finska;16;8;8
2023;finale;Malta;Izrael;13;6;7
2023;finale;Malta;Italija;22;12;10
2023;finale;Malta;Norveška;9;7;2
2023;finale;Malta;Ukrajina;5;5;0
2023;finale;Malta;Litva;4;0;4
2023;finale;Malta;Ciper;5;0;5
2023;finale;Malta;Avstrija;1;0;1
2023;finale;Malta;Francija;1;1;0
2023;finale;Malta;Švica;6;0;6
2023;finale;Malta;Albanija;3;3;0
2023;finale;Malta;Portugalska;3;0;3
2023;finale;Malta;Srbija;2;2;0
2023;finale;Malta;Velika Britanija;4;4;0
2023;finale;Moldavija;Švedska;20;8;12
2023;finale;Moldavija;Finska;7;7;0
2023;finale;Moldavija;Izrael;10;10;0
2023;finale;Moldavija;Italija;15;5;10
2023;finale;Moldavija;Norveška;6;6;0
2023;finale;Moldavija;Ukrajina;18;12;6
2023;finale;Moldavija;Estonija;7;0;7
2023;finale;Moldavija;Avstralija;5;0;5
2023;finale;Moldavija;Češka;1;1;0
2023;finale;Moldavija;Ciper;7;3;4
2023;finale;Moldavija;Armenija;4;2;2
2023;finale;Moldavija;Španija;3;0;3
2023;finale;Moldavija;Poljska;4;4;0
2023;finale;Moldavija;Albanija;1;0;1
2023;finale;Moldavija;Portugalska;8;0;8
2023;finale;Nizozemska;Švedska;20;8;12
2023;finale;Nizozemska;Finska;22;12;10
2023;finale;Nizozemska;Izrael;8;6;2
2023;finale;Nizozemska;Italija;3;3;0
2023;finale;Nizozemska;Norveška;7;7;0
2023;finale;Nizozemska;Belgija;14;10;4
2023;finale;Nizozemska;Estonija;5;5;0
2023;finale;Nizozemska;Avstralija;1;1;0
2023;finale;Nizozemska;Češka;8;0;8
2023;finale;Nizozemska;Avstrija;5;4;1
2023;finale;Nizozemska;Francija;3;0;3
2023;finale;Nizozemska;Španija;7;0;7
2023;finale;Nizozemska;Poljska;2;2;0
2023;finale;Nizozemska;Švica;6;0;6
2023;finale;Nizozemska;Portugalska;5;0;5
2023;finale;Norveška;Švedska;20;10;10
2023;finale;Norveška;Finska;24;12;12
2023;finale;Norveška;Izrael;6;3;3
2023;finale;Norveška;Italija;13;7;6
2023;finale;Norveška;Ukrajina;1;1;0
2023;finale;Norveška;Belgija;4;4;0
2023;finale;Norveška;Avstralija;5;0;5
2023;finale;Norveška;Češka;4;0;4
2023;finale;Norveška;Ciper;9;2;7
2023;finale;Norveška;Francija;8;8;0
2023;finale;Norveška;Španija;1;0;1
2023;finale;Norveška;Moldavija;8;0;8
2023;finale;Norveška;Poljska;6;6;0
2023;finale;Norveška;Švica;7;5;2
2023;finale;Poljska;Švedska;14;7;7
2023;finale;Poljska;Finska;10;10;0
2023;finale;Poljska;Izrael;17;5;12
2023;finale;Poljska;Italija;6;0;6
2023;finale;Poljska;Norveška;8;8;0
2023;finale;Poljska;Ukrajina;12;12;0
2023;finale;Poljska;Belgija;5;0;5
2023;finale;Poljska;Estonija;8;0;8
2023;finale;Poljska;Avstralija;4;0;4
2023;finale;Poljska;Češka;3;3;0
2023;finale;Poljska;Litva;4;1;3
2023;finale;Poljska;Ciper;14;4;10
2023;finale;Poljska;Hrvaška;6;6;0
2023;finale;Poljska;Armenija;1;0;1
2023;finale;Poljska;Švica;2;0;2
2023;finale;Poljska;Slovenija;2;2;0
2023;finale;Portugalska;Švedska;12;7;5
2023;finale;Portugalska;Finska;10;10;0
2023;finale;Portugalska;Izrael;5;5;0
2023;finale;Portugalska;Italija;6;6;0
2023;finale;Portugalska;Norveška;5;4;1
2023;finale;Portugalska;Ukrajina;12;12;0
2023;finale;Portugalska;Belgija;7;1;6
2023;finale;Portugalska;Estonija;8;0;8
2023;finale;Portugalska;Avstralija;12;0;12
2023;finale;Portugalska;Češka;7;0;7
2023;finale;Portugalska;Hrvaška;3;0;3
2023;finale;Portugalska;Francija;2;2;0
2023;finale;Portugalska;Španija;13;3;10
2023;finale;Portugalska;Moldavija;8;8;0
2023;finale;Portugalska;Švica;2;0;2
2023;finale;Portugalska;Srbija;4;0;4
2023;finale;Romunija;Švedska;18;8;10
2023;finale;Romunija;Finska;10;10;0
2023;finale;Romunija;Izrael;10;6;4
2023;finale;Romunija;Italija;19;7;12
2023;finale;Romunija;Norveška;5;5;0
2023;finale;Romunija;Ukrajina;4;4;0
2023;finale;Romunija;Belgija;2;0;2
2023;finale;Romunija;Estonija;8;0;8
2023;finale;Romunija;Avstralija;3;0;3
2023;finale;Romunija;Ciper;7;1;6
2023;finale;Romunija;Francija;3;3;0
2023;finale;Romunija;Moldavija;19;12;7
2023;finale;Romunija;Poljska;1;0;1
2023;finale;Romunija;Slovenija;2;2;0
2023;finale;Romunija;Albanija;5;0;5
2023;finale;San Marino;Švedska;12;8;4
2023;finale;San Marino;Finska;12;12;0
2023;finale;San Marino;Izrael;10;10;0
2023;finale;San Marino;Italija;19;7;12
2023;finale;San Marino;Norveška;5;4;1
2023;finale;San Marino;Ukrajina;6;6;0
2023;finale;San Marino;Belgija;7;0;7
2023;finale;San Marino;Estonija;10;0;10
2023;finale;San Marino;Avstralija;5;0;5
2023;finale;San Marino;Litva;10;2;8
2023;finale;San Marino;Ciper;5;5;0
2023;finale;San Marino;Avstrija;6;0;6
2023;finale;San Marino;Španija;2;0;2
2023;finale;San Marino;Moldavija;6;3;3
2023;finale;San Marino;Poljska;1;1;0
2023;finale;Srbija;Švedska;11;6;5
2023;finale;Srbija;Finska;19;12;7
2023;finale;Srbija;Izrael;17;7;10
2023;finale;Srbija;Italija;4;2;2
2023;finale;Srbija;Norveška;5;5;0
2023;finale;Srbija;Češka;5;4;1
2023;finale;Srbija;Hrvaška;18;10;8
2023;finale;Srbija;Avstrija;9;3;6
2023;finale;Srbija;Francija;5;1;4
2023;finale;Srbija;Španija;3;0;3
2023;finale;Srbija;Slovenija;20;8;12
2023;finale;Slovenija;Švedska;11;4;7
2023;finale;Slovenija;Finska;10;10;0
2023;finale;Slovenija;Italija;20;8;12
2023;finale;Slovenija;Norveška;5;5;0
2023;finale;Slovenija;Belgija;7;2;5
2023;finale;Slovenija;Estonija;10;0;10
2023;finale;Slovenija;Avstralija;4;0;4
2023;finale;Slovenija;Češka;6;0;6
2023;finale;Slovenija;Litva;8;0;8
2023;finale;Slovenija;Hrvaška;12;12;0
2023;finale;Slovenija;Avstrija;3;0;3
2023;finale;Slovenija;Francija;3;3;0
2023;finale;Slovenija;Španija;2;0;2
2023;finale;Slovenija;Poljska;1;1;0
2023;finale;Slovenija;Švica;1;0;1
2023;finale;Slovenija;Albanija;7;7;0
2023;finale;Slovenija;Srbija;6;6;0
2023;finale;Španija;Švedska;17;5;12
2023;finale;Španija;Finska;13;12;1
2023;finale;Španija;Izrael;15;7;8
2023;finale;Španija;Italija;16;6;10
2023;finale;Španija;Norveška;10;8;2
2023;finale;Španija;Ukrajina;10;10;0
2023;finale;Španija;Belgija;7;3;4
2023;finale;Španija;Estonija;7;0;7
2023;finale;Španija;Armenija;5;2;3
2023;finale;Španija;Francija;5;0;5
2023;finale;Španija;Moldavija;1;1;0
2023;finale;Španija;Portugalska;10;4;6
2023;finale;Švedska;Finska;24;12;12
2023;finale;Švedska;Izrael;5;0;5
2023;finale;Švedska;Italija;13;6;7
2023;finale;Švedska;Norveška;18;10;8
2023;finale;Švedska;Ukrajina;4;4;0
2023;finale;Švedska;Belgija;7;7;0
2023;finale;Švedska;Estonija;2;0;2
2023;finale;Švedska;Avstralija;1;1;0
2023;finale;Švedska;Češka;6;3;3
2023;finale;Švedska;Ciper;1;0;1
2023;finale;Švedska;Hrvaška;5;5;0
2023;finale;Švedska;Francija;12;2;10
2023;finale;Švedska;Švica;14;8;6
2023;finale;Švedska;Velika Britanija;4;0;4
2023;finale;Švica;Švedska;11;5;6
2023;finale;Švica;Finska;8;8;0
2023;finale;Švica;Izrael;4;3;1
2023;finale;Švica;Italija;18;10;8
2023;finale;Švica;Norveška;6;2;4
2023;finale;Švica;Estonija;10;0;10
2023;finale;Švica;Avstralija;2;0;2
2023;finale;Švica;Češka;12;0;12
2023;finale;Švica;Hrvaška;6;6;0
2023;finale;Švica;Armenija;5;0;5
2023;finale;Švica;Avstrija;7;0;7
2023;finale;Švica;Španija;3;0;3
2023;finale;Švica;Albanija;12;12;0
2023;finale;Švica;Portugalska;7;7;0
2023;finale;Švica;Srbija;1;1;0
2023;finale;Švica;Nemčija;4;4;0
2023;finale;Ukrajina;Švedska;15;3;12
2023;finale;Ukrajina;Finska;10;10;0
2023;finale;Ukrajina;Izrael;2;1;1
2023;finale;Ukrajina;Italija;2;0;2
2023;finale;Ukrajina;Norveška;7;7;0
2023;finale;Ukrajina;Estonija;5;0;5
2023;finale;Ukrajina;Avstralija;8;0;8
2023;finale;Ukrajina;Češka;9;2;7
2023;finale;Ukrajina;Litva;14;4;10
2023;finale;Ukrajina;Hrvaška;8;8;0
2023;finale;Ukrajina;Moldavija;6;6;0
2023;finale;Ukrajina;Poljska;18;12;6
2023;finale;Ukrajina;Slovenija;3;0;3
2023;finale;Ukrajina;Velika Britanija;9;5;4
2023;finale;Velika Britanija;Švedska;17;5;12
2023;finale;Velika Britanija;Finska;12;12;0
2023;finale;Velika Britanija;Izrael;7;3;4
2023;finale;Velika Britanija;Italija;2;0;2
2023;finale;Velika Britanija;Norveška;7;7;0
2023;finale;Velika Britanija;Ukrajina;4;4;0
2023;finale;Velika Britanija;Belgija;13;6;7
2023;finale;Velika Britanija;Estonija;6;0;6
2023;finale;Velika Britanija;Avstralija;12;2;10
2023;finale;Velika Britanija;Litva;18;10;8
2023;finale;Velika Britanija;Armenija;3;0;3
2023;finale;Velika Britanija;Španija;5;0;5
2023;finale;Velika Britanija;Moldavija;1;1;0
2023;finale;Velika Britanija;Poljska;8;8;0
2023;finale;Velika Britanija;Slovenija;1;0;1
2023;finale;Svet;Švedska;7;7;
2023;finale;Svet;Finska;10;10;
2023;finale;Svet;Izrael;12;12;
2023;finale;Svet;Norveška;4;4;
2023;finale;Svet;Ukrajina;5;5;
2023;finale;Svet;Hrvaška;3;3;
2023;finale;Svet;Armenija;8;8;
2023;finale;Svet;Francija;1;1;
2023;finale;Svet;Španija;2;2;
2023;finale;Svet;Albanija;6;6;
1 leto krog od_drzave za_drzavo skupaj_tocke glasovanje_tocke zirija_tocke
2 2023 finale Albanija Švedska 22 10 12
3 2023 finale Albanija Finska 6 6 0
4 2023 finale Albanija Izrael 11 5 6
5 2023 finale Albanija Italija 14 12 2
6 2023 finale Albanija Norveška 4 4 0
7 2023 finale Albanija Belgija 5 0 5
8 2023 finale Albanija Estonija 8 0 8
9 2023 finale Albanija Avstralija 3 0 3
10 2023 finale Albanija Ciper 11 7 4
11 2023 finale Albanija Hrvaška 8 8 0
12 2023 finale Albanija Armenija 10 0 10
13 2023 finale Albanija Francija 3 3 0
14 2023 finale Albanija Španija 1 0 1
15 2023 finale Albanija Poljska 1 1 0
16 2023 finale Albanija Švica 7 0 7
17 2023 finale Albanija Slovenija 2 2 0
18 2023 finale Armenija Švedska 17 7 10
19 2023 finale Armenija Finska 14 6 8
20 2023 finale Armenija Izrael 24 12 12
21 2023 finale Armenija Italija 3 3 0
22 2023 finale Armenija Norveška 8 4 4
23 2023 finale Armenija Ukrajina 4 1 3
24 2023 finale Armenija Ciper 13 8 5
25 2023 finale Armenija Avstrija 2 0 2
26 2023 finale Armenija Francija 17 10 7
27 2023 finale Armenija Španija 6 0 6
28 2023 finale Armenija Poljska 6 5 1
29 2023 finale Armenija Švica 2 2 0
30 2023 finale Avstralija Švedska 17 10 7
31 2023 finale Avstralija Finska 17 12 5
32 2023 finale Avstralija Izrael 5 5 0
33 2023 finale Avstralija Italija 1 0 1
34 2023 finale Avstralija Norveška 6 6 0
35 2023 finale Avstralija Belgija 15 3 12
36 2023 finale Avstralija Estonija 8 0 8
37 2023 finale Avstralija Litva 10 0 10
38 2023 finale Avstralija Ciper 11 8 3
39 2023 finale Avstralija Hrvaška 4 4 0
40 2023 finale Avstralija Avstrija 13 7 6
41 2023 finale Avstralija Francija 2 2 0
42 2023 finale Avstralija Španija 4 0 4
43 2023 finale Avstralija Slovenija 1 1 0
44 2023 finale Avstralija Portugalska 2 0 2
45 2023 finale Avstrija Švedska 14 4 10
46 2023 finale Avstrija Finska 20 12 8
47 2023 finale Avstrija Izrael 1 1 0
48 2023 finale Avstrija Italija 20 8 12
49 2023 finale Avstrija Norveška 7 7 0
50 2023 finale Avstrija Ukrajina 5 5 0
51 2023 finale Avstrija Belgija 3 0 3
52 2023 finale Avstrija Češka 5 0 5
53 2023 finale Avstrija Litva 7 0 7
54 2023 finale Avstrija Ciper 2 0 2
55 2023 finale Avstrija Hrvaška 10 10 0
56 2023 finale Avstrija Armenija 1 0 1
57 2023 finale Avstrija Švica 6 2 4
58 2023 finale Avstrija Slovenija 6 0 6
59 2023 finale Avstrija Albanija 3 3 0
60 2023 finale Avstrija Nemčija 6 6 0
61 2023 finale Azerbajdžan Švedska 20 10 10
62 2023 finale Azerbajdžan Finska 11 8 3
63 2023 finale Azerbajdžan Izrael 24 12 12
64 2023 finale Azerbajdžan Italija 10 4 6
65 2023 finale Azerbajdžan Norveška 2 2 0
66 2023 finale Azerbajdžan Ukrajina 9 7 2
67 2023 finale Azerbajdžan Estonija 1 0 1
68 2023 finale Azerbajdžan Avstralija 5 0 5
69 2023 finale Azerbajdžan Češka 3 3 0
70 2023 finale Azerbajdžan Ciper 6 6 0
71 2023 finale Azerbajdžan Španija 7 0 7
72 2023 finale Azerbajdžan Švica 5 1 4
73 2023 finale Azerbajdžan Slovenija 5 5 0
74 2023 finale Azerbajdžan Albanija 8 0 8
75 2023 finale Belgija Švedska 18 10 8
76 2023 finale Belgija Finska 17 12 5
77 2023 finale Belgija Izrael 15 5 10
78 2023 finale Belgija Italija 14 7 7
79 2023 finale Belgija Norveška 8 8 0
80 2023 finale Belgija Ukrajina 1 1 0
81 2023 finale Belgija Avstralija 4 0 4
82 2023 finale Belgija Češka 3 0 3
83 2023 finale Belgija Armenija 6 6 0
84 2023 finale Belgija Avstrija 12 0 12
85 2023 finale Belgija Francija 3 2 1
86 2023 finale Belgija Španija 6 0 6
87 2023 finale Belgija Poljska 6 4 2
88 2023 finale Belgija Albanija 3 3 0
89 2023 finale Hrvaška Švedska 12 2 10
90 2023 finale Hrvaška Finska 17 10 7
91 2023 finale Hrvaška Izrael 12 4 8
92 2023 finale Hrvaška Italija 20 8 12
93 2023 finale Hrvaška Norveška 5 5 0
94 2023 finale Hrvaška Estonija 3 0 3
95 2023 finale Hrvaška Češka 3 3 0
96 2023 finale Hrvaška Španija 6 0 6
97 2023 finale Hrvaška Moldavija 3 1 2
98 2023 finale Hrvaška Slovenija 17 12 5
99 2023 finale Hrvaška Albanija 6 6 0
100 2023 finale Hrvaška Portugalska 1 0 1
101 2023 finale Hrvaška Srbija 11 7 4
102 2023 finale Ciper Švedska 20 8 12
103 2023 finale Ciper Finska 10 7 3
104 2023 finale Ciper Izrael 19 12 7
105 2023 finale Ciper Italija 11 6 5
106 2023 finale Ciper Norveška 5 5 0
107 2023 finale Ciper Ukrajina 10 10 0
108 2023 finale Ciper Avstralija 8 0 8
109 2023 finale Ciper Češka 1 0 1
110 2023 finale Ciper Armenija 8 4 4
111 2023 finale Ciper Avstrija 10 0 10
112 2023 finale Ciper Francija 3 3 0
113 2023 finale Ciper Španija 6 0 6
114 2023 finale Ciper Moldavija 1 1 0
115 2023 finale Ciper Poljska 2 2 0
116 2023 finale Ciper Švica 2 0 2
117 2023 finale Češka Švedska 16 6 10
118 2023 finale Češka Finska 15 10 5
119 2023 finale Češka Izrael 8 8 0
120 2023 finale Češka Italija 5 1 4
121 2023 finale Češka Norveška 7 7 0
122 2023 finale Češka Ukrajina 24 12 12
123 2023 finale Češka Estonija 2 0 2
124 2023 finale Češka Avstralija 7 0 7
125 2023 finale Češka Hrvaška 4 4 0
126 2023 finale Češka Armenija 10 2 8
127 2023 finale Češka Španija 3 0 3
128 2023 finale Češka Moldavija 5 5 0
129 2023 finale Češka Slovenija 9 3 6
130 2023 finale Češka Nemčija 1 0 1
131 2023 finale Danska Švedska 20 8 12
132 2023 finale Danska Finska 20 12 8
133 2023 finale Danska Italija 3 3 0
134 2023 finale Danska Norveška 20 10 10
135 2023 finale Danska Ukrajina 7 7 0
136 2023 finale Danska Belgija 9 6 3
137 2023 finale Danska Avstralija 2 0 2
138 2023 finale Danska Litva 4 0 4
139 2023 finale Danska Ciper 7 2 5
140 2023 finale Danska Avstrija 7 0 7
141 2023 finale Danska Francija 6 0 6
142 2023 finale Danska Moldavija 1 1 0
143 2023 finale Danska Poljska 5 5 0
144 2023 finale Danska Švica 4 4 0
145 2023 finale Danska Velika Britanija 1 0 1
146 2023 finale Estonija Švedska 22 10 12
147 2023 finale Estonija Finska 22 12 10
148 2023 finale Estonija Izrael 4 0 4
149 2023 finale Estonija Italija 7 2 5
150 2023 finale Estonija Norveška 7 7 0
151 2023 finale Estonija Ukrajina 15 8 7
152 2023 finale Estonija Belgija 6 0 6
153 2023 finale Estonija Avstralija 14 6 8
154 2023 finale Estonija Litva 6 5 1
155 2023 finale Estonija Armenija 3 0 3
156 2023 finale Estonija Španija 2 0 2
157 2023 finale Estonija Poljska 3 3 0
158 2023 finale Estonija Švica 4 4 0
159 2023 finale Estonija Slovenija 1 1 0
160 2023 finale Finska Švedska 12 0 12
161 2023 finale Finska Italija 6 0 6
162 2023 finale Finska Norveška 12 12 0
163 2023 finale Finska Belgija 5 0 5
164 2023 finale Finska Estonija 6 6 0
165 2023 finale Finska Avstralija 8 8 0
166 2023 finale Finska Češka 18 10 8
167 2023 finale Finska Ciper 1 0 1
168 2023 finale Finska Hrvaška 4 4 0
169 2023 finale Finska Avstrija 4 2 2
170 2023 finale Finska Francija 7 0 7
171 2023 finale Finska Moldavija 3 3 0
172 2023 finale Finska Švica 11 1 10
173 2023 finale Finska Slovenija 7 7 0
174 2023 finale Finska Portugalska 3 0 3
175 2023 finale Finska Velika Britanija 4 0 4
176 2023 finale Finska Nemčija 5 5 0
177 2023 finale Francija Švedska 9 3 6
178 2023 finale Francija Finska 14 6 8
179 2023 finale Francija Izrael 22 10 12
180 2023 finale Francija Italija 9 7 2
181 2023 finale Francija Norveška 1 1 0
182 2023 finale Francija Ukrajina 5 4 1
183 2023 finale Francija Belgija 2 2 0
184 2023 finale Francija Češka 4 0 4
185 2023 finale Francija Armenija 19 12 7
186 2023 finale Francija Avstrija 10 0 10
187 2023 finale Francija Moldavija 8 8 0
188 2023 finale Francija Švica 3 0 3
189 2023 finale Francija Portugalska 10 5 5
190 2023 finale Gruzija Švedska 11 7 4
191 2023 finale Gruzija Finska 9 8 1
192 2023 finale Gruzija Izrael 13 6 7
193 2023 finale Gruzija Italija 13 5 8
194 2023 finale Gruzija Norveška 2 2 0
195 2023 finale Gruzija Ukrajina 10 10 0
196 2023 finale Gruzija Belgija 12 0 12
197 2023 finale Gruzija Estonija 5 0 5
198 2023 finale Gruzija Avstralija 2 0 2
199 2023 finale Gruzija Litva 10 4 6
200 2023 finale Gruzija Ciper 3 0 3
201 2023 finale Gruzija Hrvaška 1 1 0
202 2023 finale Gruzija Armenija 22 12 10
203 2023 finale Gruzija Moldavija 3 3 0
204 2023 finale Nemčija Švedska 13 1 12
205 2023 finale Nemčija Finska 12 12 0
206 2023 finale Nemčija Italija 14 10 4
207 2023 finale Nemčija Norveška 11 5 6
208 2023 finale Nemčija Ukrajina 7 7 0
209 2023 finale Nemčija Belgija 2 2 0
210 2023 finale Nemčija Estonija 10 0 10
211 2023 finale Nemčija Avstralija 8 0 8
212 2023 finale Nemčija Češka 5 0 5
213 2023 finale Nemčija Litva 1 0 1
214 2023 finale Nemčija Hrvaška 6 6 0
215 2023 finale Nemčija Avstrija 2 0 2
216 2023 finale Nemčija Španija 7 0 7
217 2023 finale Nemčija Poljska 4 4 0
218 2023 finale Nemčija Švica 3 3 0
219 2023 finale Nemčija Albanija 8 8 0
220 2023 finale Nemčija Srbija 3 0 3
221 2023 finale Grčija Švedska 14 8 6
222 2023 finale Grčija Finska 10 10 0
223 2023 finale Grčija Izrael 15 7 8
224 2023 finale Grčija Italija 5 5 0
225 2023 finale Grčija Norveška 6 6 0
226 2023 finale Grčija Belgija 12 0 12
227 2023 finale Grčija Avstralija 5 0 5
228 2023 finale Grčija Češka 1 1 0
229 2023 finale Grčija Ciper 16 12 4
230 2023 finale Grčija Armenija 2 2 0
231 2023 finale Grčija Avstrija 7 0 7
232 2023 finale Grčija Francija 3 3 0
233 2023 finale Grčija Švica 2 0 2
234 2023 finale Grčija Albanija 7 4 3
235 2023 finale Grčija Portugalska 10 0 10
236 2023 finale Grčija Srbija 1 0 1
237 2023 finale Islandija Švedska 17 10 7
238 2023 finale Islandija Finska 22 12 10
239 2023 finale Islandija Italija 1 1 0
240 2023 finale Islandija Norveška 12 8 4
241 2023 finale Islandija Ukrajina 2 2 0
242 2023 finale Islandija Belgija 11 6 5
243 2023 finale Islandija Avstralija 15 3 12
244 2023 finale Islandija Češka 6 0 6
245 2023 finale Islandija Hrvaška 5 5 0
246 2023 finale Islandija Avstrija 8 0 8
247 2023 finale Islandija Francija 4 4 0
248 2023 finale Islandija Španija 3 0 3
249 2023 finale Islandija Poljska 7 7 0
250 2023 finale Islandija Srbija 1 0 1
251 2023 finale Islandija Nemčija 2 0 2
252 2023 finale Irska Švedska 18 6 12
253 2023 finale Irska Finska 20 12 8
254 2023 finale Irska Izrael 8 1 7
255 2023 finale Irska Norveška 5 5 0
256 2023 finale Irska Ukrajina 7 7 0
257 2023 finale Irska Belgija 13 3 10
258 2023 finale Irska Avstralija 4 0 4
259 2023 finale Irska Češka 3 0 3
260 2023 finale Irska Litva 11 10 1
261 2023 finale Irska Hrvaška 2 2 0
262 2023 finale Irska Armenija 6 0 6
263 2023 finale Irska Francija 5 0 5
264 2023 finale Irska Moldavija 4 4 0
265 2023 finale Irska Poljska 8 8 0
266 2023 finale Irska Velika Britanija 2 0 2
267 2023 finale Izrael Švedska 16 4 12
268 2023 finale Izrael Finska 20 12 8
269 2023 finale Izrael Italija 7 7 0
270 2023 finale Izrael Norveška 20 10 10
271 2023 finale Izrael Ukrajina 15 8 7
272 2023 finale Izrael Belgija 3 0 3
273 2023 finale Izrael Estonija 5 0 5
274 2023 finale Izrael Češka 6 2 4
275 2023 finale Izrael Ciper 1 0 1
276 2023 finale Izrael Hrvaška 6 6 0
277 2023 finale Izrael Armenija 3 3 0
278 2023 finale Izrael Avstrija 6 0 6
279 2023 finale Izrael Francija 1 1 0
280 2023 finale Izrael Moldavija 5 5 0
281 2023 finale Izrael Poljska 2 0 2
282 2023 finale Italija Švedska 11 3 8
283 2023 finale Italija Finska 6 6 0
284 2023 finale Italija Izrael 17 5 12
285 2023 finale Italija Norveška 10 10 0
286 2023 finale Italija Ukrajina 18 8 10
287 2023 finale Italija Belgija 2 0 2
288 2023 finale Italija Estonija 6 0 6
289 2023 finale Italija Češka 9 2 7
290 2023 finale Italija Litva 3 0 3
291 2023 finale Italija Hrvaška 4 4 0
292 2023 finale Italija Armenija 5 0 5
293 2023 finale Italija Moldavija 12 12 0
294 2023 finale Italija Švica 5 1 4
295 2023 finale Italija Albanija 7 7 0
296 2023 finale Italija Srbija 1 0 1
297 2023 finale Latvija Švedska 18 8 10
298 2023 finale Latvija Finska 12 12 0
299 2023 finale Latvija Izrael 10 5 5
300 2023 finale Latvija Italija 3 0 3
301 2023 finale Latvija Norveška 3 3 0
302 2023 finale Latvija Ukrajina 11 7 4
303 2023 finale Latvija Belgija 2 0 2
304 2023 finale Latvija Estonija 18 6 12
305 2023 finale Latvija Češka 1 1 0
306 2023 finale Latvija Litva 17 10 7
307 2023 finale Latvija Ciper 6 0 6
308 2023 finale Latvija Hrvaška 4 4 0
309 2023 finale Latvija Armenija 1 0 1
310 2023 finale Latvija Španija 8 0 8
311 2023 finale Latvija Slovenija 2 2 0
312 2023 finale Litva Švedska 19 7 12
313 2023 finale Litva Finska 15 12 3
314 2023 finale Litva Izrael 13 3 10
315 2023 finale Litva Italija 6 6 0
316 2023 finale Litva Ukrajina 12 10 2
317 2023 finale Litva Belgija 7 0 7
318 2023 finale Litva Estonija 10 5 5
319 2023 finale Litva Avstralija 4 0 4
320 2023 finale Litva Ciper 1 0 1
321 2023 finale Litva Hrvaška 4 4 0
322 2023 finale Litva Avstrija 8 0 8
323 2023 finale Litva Francija 7 1 6
324 2023 finale Litva Moldavija 2 2 0
325 2023 finale Litva Poljska 8 8 0
326 2023 finale Malta Švedska 22 10 12
327 2023 finale Malta Finska 16 8 8
328 2023 finale Malta Izrael 13 6 7
329 2023 finale Malta Italija 22 12 10
330 2023 finale Malta Norveška 9 7 2
331 2023 finale Malta Ukrajina 5 5 0
332 2023 finale Malta Litva 4 0 4
333 2023 finale Malta Ciper 5 0 5
334 2023 finale Malta Avstrija 1 0 1
335 2023 finale Malta Francija 1 1 0
336 2023 finale Malta Švica 6 0 6
337 2023 finale Malta Albanija 3 3 0
338 2023 finale Malta Portugalska 3 0 3
339 2023 finale Malta Srbija 2 2 0
340 2023 finale Malta Velika Britanija 4 4 0
341 2023 finale Moldavija Švedska 20 8 12
342 2023 finale Moldavija Finska 7 7 0
343 2023 finale Moldavija Izrael 10 10 0
344 2023 finale Moldavija Italija 15 5 10
345 2023 finale Moldavija Norveška 6 6 0
346 2023 finale Moldavija Ukrajina 18 12 6
347 2023 finale Moldavija Estonija 7 0 7
348 2023 finale Moldavija Avstralija 5 0 5
349 2023 finale Moldavija Češka 1 1 0
350 2023 finale Moldavija Ciper 7 3 4
351 2023 finale Moldavija Armenija 4 2 2
352 2023 finale Moldavija Španija 3 0 3
353 2023 finale Moldavija Poljska 4 4 0
354 2023 finale Moldavija Albanija 1 0 1
355 2023 finale Moldavija Portugalska 8 0 8
356 2023 finale Nizozemska Švedska 20 8 12
357 2023 finale Nizozemska Finska 22 12 10
358 2023 finale Nizozemska Izrael 8 6 2
359 2023 finale Nizozemska Italija 3 3 0
360 2023 finale Nizozemska Norveška 7 7 0
361 2023 finale Nizozemska Belgija 14 10 4
362 2023 finale Nizozemska Estonija 5 5 0
363 2023 finale Nizozemska Avstralija 1 1 0
364 2023 finale Nizozemska Češka 8 0 8
365 2023 finale Nizozemska Avstrija 5 4 1
366 2023 finale Nizozemska Francija 3 0 3
367 2023 finale Nizozemska Španija 7 0 7
368 2023 finale Nizozemska Poljska 2 2 0
369 2023 finale Nizozemska Švica 6 0 6
370 2023 finale Nizozemska Portugalska 5 0 5
371 2023 finale Norveška Švedska 20 10 10
372 2023 finale Norveška Finska 24 12 12
373 2023 finale Norveška Izrael 6 3 3
374 2023 finale Norveška Italija 13 7 6
375 2023 finale Norveška Ukrajina 1 1 0
376 2023 finale Norveška Belgija 4 4 0
377 2023 finale Norveška Avstralija 5 0 5
378 2023 finale Norveška Češka 4 0 4
379 2023 finale Norveška Ciper 9 2 7
380 2023 finale Norveška Francija 8 8 0
381 2023 finale Norveška Španija 1 0 1
382 2023 finale Norveška Moldavija 8 0 8
383 2023 finale Norveška Poljska 6 6 0
384 2023 finale Norveška Švica 7 5 2
385 2023 finale Poljska Švedska 14 7 7
386 2023 finale Poljska Finska 10 10 0
387 2023 finale Poljska Izrael 17 5 12
388 2023 finale Poljska Italija 6 0 6
389 2023 finale Poljska Norveška 8 8 0
390 2023 finale Poljska Ukrajina 12 12 0
391 2023 finale Poljska Belgija 5 0 5
392 2023 finale Poljska Estonija 8 0 8
393 2023 finale Poljska Avstralija 4 0 4
394 2023 finale Poljska Češka 3 3 0
395 2023 finale Poljska Litva 4 1 3
396 2023 finale Poljska Ciper 14 4 10
397 2023 finale Poljska Hrvaška 6 6 0
398 2023 finale Poljska Armenija 1 0 1
399 2023 finale Poljska Švica 2 0 2
400 2023 finale Poljska Slovenija 2 2 0
401 2023 finale Portugalska Švedska 12 7 5
402 2023 finale Portugalska Finska 10 10 0
403 2023 finale Portugalska Izrael 5 5 0
404 2023 finale Portugalska Italija 6 6 0
405 2023 finale Portugalska Norveška 5 4 1
406 2023 finale Portugalska Ukrajina 12 12 0
407 2023 finale Portugalska Belgija 7 1 6
408 2023 finale Portugalska Estonija 8 0 8
409 2023 finale Portugalska Avstralija 12 0 12
410 2023 finale Portugalska Češka 7 0 7
411 2023 finale Portugalska Hrvaška 3 0 3
412 2023 finale Portugalska Francija 2 2 0
413 2023 finale Portugalska Španija 13 3 10
414 2023 finale Portugalska Moldavija 8 8 0
415 2023 finale Portugalska Švica 2 0 2
416 2023 finale Portugalska Srbija 4 0 4
417 2023 finale Romunija Švedska 18 8 10
418 2023 finale Romunija Finska 10 10 0
419 2023 finale Romunija Izrael 10 6 4
420 2023 finale Romunija Italija 19 7 12
421 2023 finale Romunija Norveška 5 5 0
422 2023 finale Romunija Ukrajina 4 4 0
423 2023 finale Romunija Belgija 2 0 2
424 2023 finale Romunija Estonija 8 0 8
425 2023 finale Romunija Avstralija 3 0 3
426 2023 finale Romunija Ciper 7 1 6
427 2023 finale Romunija Francija 3 3 0
428 2023 finale Romunija Moldavija 19 12 7
429 2023 finale Romunija Poljska 1 0 1
430 2023 finale Romunija Slovenija 2 2 0
431 2023 finale Romunija Albanija 5 0 5
432 2023 finale San Marino Švedska 12 8 4
433 2023 finale San Marino Finska 12 12 0
434 2023 finale San Marino Izrael 10 10 0
435 2023 finale San Marino Italija 19 7 12
436 2023 finale San Marino Norveška 5 4 1
437 2023 finale San Marino Ukrajina 6 6 0
438 2023 finale San Marino Belgija 7 0 7
439 2023 finale San Marino Estonija 10 0 10
440 2023 finale San Marino Avstralija 5 0 5
441 2023 finale San Marino Litva 10 2 8
442 2023 finale San Marino Ciper 5 5 0
443 2023 finale San Marino Avstrija 6 0 6
444 2023 finale San Marino Španija 2 0 2
445 2023 finale San Marino Moldavija 6 3 3
446 2023 finale San Marino Poljska 1 1 0
447 2023 finale Srbija Švedska 11 6 5
448 2023 finale Srbija Finska 19 12 7
449 2023 finale Srbija Izrael 17 7 10
450 2023 finale Srbija Italija 4 2 2
451 2023 finale Srbija Norveška 5 5 0
452 2023 finale Srbija Češka 5 4 1
453 2023 finale Srbija Hrvaška 18 10 8
454 2023 finale Srbija Avstrija 9 3 6
455 2023 finale Srbija Francija 5 1 4
456 2023 finale Srbija Španija 3 0 3
457 2023 finale Srbija Slovenija 20 8 12
458 2023 finale Slovenija Švedska 11 4 7
459 2023 finale Slovenija Finska 10 10 0
460 2023 finale Slovenija Italija 20 8 12
461 2023 finale Slovenija Norveška 5 5 0
462 2023 finale Slovenija Belgija 7 2 5
463 2023 finale Slovenija Estonija 10 0 10
464 2023 finale Slovenija Avstralija 4 0 4
465 2023 finale Slovenija Češka 6 0 6
466 2023 finale Slovenija Litva 8 0 8
467 2023 finale Slovenija Hrvaška 12 12 0
468 2023 finale Slovenija Avstrija 3 0 3
469 2023 finale Slovenija Francija 3 3 0
470 2023 finale Slovenija Španija 2 0 2
471 2023 finale Slovenija Poljska 1 1 0
472 2023 finale Slovenija Švica 1 0 1
473 2023 finale Slovenija Albanija 7 7 0
474 2023 finale Slovenija Srbija 6 6 0
475 2023 finale Španija Švedska 17 5 12
476 2023 finale Španija Finska 13 12 1
477 2023 finale Španija Izrael 15 7 8
478 2023 finale Španija Italija 16 6 10
479 2023 finale Španija Norveška 10 8 2
480 2023 finale Španija Ukrajina 10 10 0
481 2023 finale Španija Belgija 7 3 4
482 2023 finale Španija Estonija 7 0 7
483 2023 finale Španija Armenija 5 2 3
484 2023 finale Španija Francija 5 0 5
485 2023 finale Španija Moldavija 1 1 0
486 2023 finale Španija Portugalska 10 4 6
487 2023 finale Švedska Finska 24 12 12
488 2023 finale Švedska Izrael 5 0 5
489 2023 finale Švedska Italija 13 6 7
490 2023 finale Švedska Norveška 18 10 8
491 2023 finale Švedska Ukrajina 4 4 0
492 2023 finale Švedska Belgija 7 7 0
493 2023 finale Švedska Estonija 2 0 2
494 2023 finale Švedska Avstralija 1 1 0
495 2023 finale Švedska Češka 6 3 3
496 2023 finale Švedska Ciper 1 0 1
497 2023 finale Švedska Hrvaška 5 5 0
498 2023 finale Švedska Francija 12 2 10
499 2023 finale Švedska Švica 14 8 6
500 2023 finale Švedska Velika Britanija 4 0 4
501 2023 finale Švica Švedska 11 5 6
502 2023 finale Švica Finska 8 8 0
503 2023 finale Švica Izrael 4 3 1
504 2023 finale Švica Italija 18 10 8
505 2023 finale Švica Norveška 6 2 4
506 2023 finale Švica Estonija 10 0 10
507 2023 finale Švica Avstralija 2 0 2
508 2023 finale Švica Češka 12 0 12
509 2023 finale Švica Hrvaška 6 6 0
510 2023 finale Švica Armenija 5 0 5
511 2023 finale Švica Avstrija 7 0 7
512 2023 finale Švica Španija 3 0 3
513 2023 finale Švica Albanija 12 12 0
514 2023 finale Švica Portugalska 7 7 0
515 2023 finale Švica Srbija 1 1 0
516 2023 finale Švica Nemčija 4 4 0
517 2023 finale Ukrajina Švedska 15 3 12
518 2023 finale Ukrajina Finska 10 10 0
519 2023 finale Ukrajina Izrael 2 1 1
520 2023 finale Ukrajina Italija 2 0 2
521 2023 finale Ukrajina Norveška 7 7 0
522 2023 finale Ukrajina Estonija 5 0 5
523 2023 finale Ukrajina Avstralija 8 0 8
524 2023 finale Ukrajina Češka 9 2 7
525 2023 finale Ukrajina Litva 14 4 10
526 2023 finale Ukrajina Hrvaška 8 8 0
527 2023 finale Ukrajina Moldavija 6 6 0
528 2023 finale Ukrajina Poljska 18 12 6
529 2023 finale Ukrajina Slovenija 3 0 3
530 2023 finale Ukrajina Velika Britanija 9 5 4
531 2023 finale Velika Britanija Švedska 17 5 12
532 2023 finale Velika Britanija Finska 12 12 0
533 2023 finale Velika Britanija Izrael 7 3 4
534 2023 finale Velika Britanija Italija 2 0 2
535 2023 finale Velika Britanija Norveška 7 7 0
536 2023 finale Velika Britanija Ukrajina 4 4 0
537 2023 finale Velika Britanija Belgija 13 6 7
538 2023 finale Velika Britanija Estonija 6 0 6
539 2023 finale Velika Britanija Avstralija 12 2 10
540 2023 finale Velika Britanija Litva 18 10 8
541 2023 finale Velika Britanija Armenija 3 0 3
542 2023 finale Velika Britanija Španija 5 0 5
543 2023 finale Velika Britanija Moldavija 1 1 0
544 2023 finale Velika Britanija Poljska 8 8 0
545 2023 finale Velika Britanija Slovenija 1 0 1
546 2023 finale Svet Švedska 7 7
547 2023 finale Svet Finska 10 10
548 2023 finale Svet Izrael 12 12
549 2023 finale Svet Norveška 4 4
550 2023 finale Svet Ukrajina 5 5
551 2023 finale Svet Hrvaška 3 3
552 2023 finale Svet Armenija 8 8
553 2023 finale Svet Francija 1 1
554 2023 finale Svet Španija 2 2
555 2023 finale Svet Albanija 6 6

1185
viri/glasovi_sample.csv Normal file

File diff suppressed because it is too large Load Diff

38
viri/tekmovalci_2023.csv Normal file
View File

@ -0,0 +1,38 @@
leto;drzava;tekmovalec;pesem
2023;Albanija;Albina & Familja Kelmendi;Duje
2023;Izrael;Noa Kirel;Unicorn
2023;Avstrija;Teya & Salena;Who The Hell Is Edgar?
2023;Srbija;Luke Black;Samo mi se spava
2023;Italija;Marco Mengoni;Due vite
2023;Češka;Vesna;My Sister's Crown
2023;Ciper;Andrew Lambrou;Break a Broken Heart
2023;Armenija;Brunette;Future Lover
2023;Malta;The Busker;Dance (Our Own Party)
2023;Latvija;Sudden Lights;Aijā
2023;Gruzija;Iru;Echo
2023;Moldavija;Pasha Parfeni;Soarele și Luna
2023;Hrvaška;Let 3;Mama ŠČ!
2023;San Marino;Piqued Jacks;Like An Animal
2023;Belgija;Gustaph;Because of You
2023;Azerbajdžan;TuralTuranX;Tell Me More
2023;Francija;La Zarra;Évidemment
2023;Španija;Blanca Paloma;Eaea
2023;Estonija;Alika;Bridges
2023;Litva;Monika Linkytė;Stay
2023;Avstralija;Voyager;Promise
2023;Norveška;Alessandra;Queen of Kings
2023;Nizozemska;Mia Nicolai & Dion Cooper;Burning Daylight
2023;Poljska;Blanka;Solo
2023;Švedska;Loreen;Tattoo
2023;Romunija;Theodor Andrei;D.G.T. (Off and On)
2023;Islandija;Diljá;Power
2023;Finska;Käärijä;Cha Cha Cha
2023;Velika Britanija;Mae Muller;I Wrote A Song
2023;Irska;Wild Youth;We Are One
2023;Nemčija;Lord Of The Lost;Blood & Glitter
2023;Ukrajina;Tvorchi;Heart of Steel
2023;Slovenija;Joker Out;Carpe Diem
2023;Danska;Reiley;Breaking My Heart
2023;Portugalska;Mimicat;Ai Coração
2023;Grčija;Victor Vernicos;What They Say
2023;Švica;Remo Forrer;Watergun
1 leto drzava tekmovalec pesem
2 2023 Albanija Albina & Familja Kelmendi Duje
3 2023 Izrael Noa Kirel Unicorn
4 2023 Avstrija Teya & Salena Who The Hell Is Edgar?
5 2023 Srbija Luke Black Samo mi se spava
6 2023 Italija Marco Mengoni Due vite
7 2023 Češka Vesna My Sister's Crown
8 2023 Ciper Andrew Lambrou Break a Broken Heart
9 2023 Armenija Brunette Future Lover
10 2023 Malta The Busker Dance (Our Own Party)
11 2023 Latvija Sudden Lights Aijā
12 2023 Gruzija Iru Echo
13 2023 Moldavija Pasha Parfeni Soarele și Luna
14 2023 Hrvaška Let 3 Mama ŠČ!
15 2023 San Marino Piqued Jacks Like An Animal
16 2023 Belgija Gustaph Because of You
17 2023 Azerbajdžan TuralTuranX Tell Me More
18 2023 Francija La Zarra Évidemment
19 2023 Španija Blanca Paloma Eaea
20 2023 Estonija Alika Bridges
21 2023 Litva Monika Linkytė Stay
22 2023 Avstralija Voyager Promise
23 2023 Norveška Alessandra Queen of Kings
24 2023 Nizozemska Mia Nicolai & Dion Cooper Burning Daylight
25 2023 Poljska Blanka Solo
26 2023 Švedska Loreen Tattoo
27 2023 Romunija Theodor Andrei D.G.T. (Off and On)
28 2023 Islandija Diljá Power
29 2023 Finska Käärijä Cha Cha Cha
30 2023 Velika Britanija Mae Muller I Wrote A Song
31 2023 Irska Wild Youth We Are One
32 2023 Nemčija Lord Of The Lost Blood & Glitter
33 2023 Ukrajina Tvorchi Heart of Steel
34 2023 Slovenija Joker Out Carpe Diem
35 2023 Danska Reiley Breaking My Heart
36 2023 Portugalska Mimicat Ai Coração
37 2023 Grčija Victor Vernicos What They Say
38 2023 Švica Remo Forrer Watergun

101
viri/tekmovalci_sample.csv Normal file
View File

@ -0,0 +1,101 @@
leto;drzava;tekmovalec;pesem
1999;Švedska;Charlotte Nilsson;Take Me To Your Heaven
1999;Islandija;Selma Björnsdóttir;All Out Of Luck
1999;Nemčija;Sürpriz;Reise Nach Jerusalem - Kudüs'e Seyahat
1999;Hrvaška;Doris Dragović;Marija Magdalena
1999;Izrael;Eden;Yom Huledeth
1999;Estonija;Evelin Samuel and Camille;Diamond Of Night
1999;Bosna in Hercegovina;Dino and Beatrice;Putnici
1999;Danska;Trine Jepsen & Michael Teschl;This Time (i Mean It)
1999;Nizozemska;Marlayne;One Good Reason
1999;Avstrija;Bobbie Singer;Reflection
1999;Slovenija;Darja Svajger;For A Thousand Years
1999;Belgija;Venessa Chinitor;Like The Wind
1999;Velika Britanija;Precious;Say It Again
1999;Norveška;Stig André Van Eijk;Living My Life Without You
1999;Malta;Times 3;Believe 'n Peace
1999;Turčija;Tuba Önal & Grup Mystik;Dön Artik
1999;Irska;The Mullan's;When You Need Me
1999;Poljska;Mietek Szczesniak;Przytul Mnie Mocno
1999;Francija;Nayah;Je Veux Donner Ma Voix
1999;Litva;Aiste Smilgeviciute;Strazdas
1999;Portugalska;Rui Bandeira;Como Tudo Começou
1999;Ciper;Marlain Angelidou;Tha'nai Erotas
1999;Španija;Lydia;No Quiero Escuchar
2015;Švedska;Måns Zelmerlöw;Heroes
2015;Rusija;Polina Gagarina;A Million Voices
2015;Italija;Il Volo;Grande Amore
2015;Belgija;Loïc Nottet;Rhythm Inside
2015;Avstralija;Guy Sebastian;Tonight Again
2015;Latvija;Aminata Savadogo;Love Injected
2015;Estonija;Elina Born & Stig Rästa;Goodbye to Yesterday
2015;Norveška;Mørland & Debrah Scarlett;A Monster Like Me
2015;Izrael;Nadav Guedj;Golden Boy
2015;Srbija;Bojana Stamenov;Beauty Never Lies
2015;Gruzija;Nina Sublatti;Warrior
2015;Azerbajdžan;Elnur Hüseynov;Hour Of The Wolf
2015;Črna gora;Knez;Adio
2015;Slovenija;Maraaya;Here for You
2015;Romunija;Voltaj;De La Capăt / All Over Again
2015;Armenija;Genealogy;Face The Shadow
2015;Albanija;Elhaida Dani;I'm Alive
2015;Litva;Monika & Vaidas;This Time
2015;Grčija;Maria Elena Kyriakou;One Last Breath
2015;Madžarska;Boggie;Wars For Nothing
2015;Španija;Edurne;Amanecer
2015;Ciper;John Karayiannis;One Thing I Should Have Done
2015;Poljska;Monika Kuszyńska;In The Name Of Love
2015;Velika Britanija;Electro Velvet;Still in Love with You
2015;Francija;Lisa Angell;Noubliez pas
2015;Avstrija;The Makemakes;I Am Yours
2015;Nemčija;Ann Sophie;Black Smoke
2015;Moldavija;Eduard Romanyuta;I Want Your Love
2015;Malta;Amber;Warrior
2015;Belorusija;Uzari & Maimuna;Time
2015;Irska;Molly Sterling;Playing With Numbers
2015;Danska;Anti Social Media;The Way You Are
2015;Nizozemska;Trijntje Oosterhuis;Walk Along
2015;Češka;Marta Jandová & Václav Noid Bárta;Hope Never Dies
2015;Severna Makedonija;Daniel Kajmakoski;Autumn Leaves
2015;Portugalska;Leonor Andrade;Há um mar que nos Separa
2015;Islandija;María Ólafsdóttir;Unbroken
2015;Finska;Pertti Kurikan Nimipäivät;Aina Mun Pitää
2015;San Marino;Michele Perniola & Anita Simoncini;Chain Of Lights
2015;Švica;Mélanie René;Time To Shine
2023;Švedska;Loreen;Tattoo
2023;Finska;Käärijä;Cha Cha Cha
2023;Izrael;Noa Kirel;Unicorn
2023;Italija;Marco Mengoni;Due vite
2023;Norveška;Alessandra;Queen of Kings
2023;Ukrajina;Tvorchi;Heart of Steel
2023;Belgija;Gustaph;Because of You
2023;Estonija;Alika;Bridges
2023;Avstralija;Voyager;Promise
2023;Češka;Vesna;My Sister's Crown
2023;Litva;Monika Linkytė;Stay
2023;Ciper;Andrew Lambrou;Break a Broken Heart
2023;Hrvaška;Let 3;Mama ŠČ!
2023;Armenija;Brunette;Future Lover
2023;Avstrija;Teya & Salena;Who The Hell Is Edgar?
2023;Francija;La Zarra;Évidemment
2023;Španija;Blanca Paloma;Eaea
2023;Moldavija;Pasha Parfeni;Soarele și Luna
2023;Poljska;Blanka;Solo
2023;Švica;Remo Forrer;Watergun
2023;Slovenija;Joker Out;Carpe Diem
2023;Albanija;Albina & Familja Kelmendi;Duje
2023;Portugalska;Mimicat;Ai Coração
2023;Srbija;Luke Black;Samo mi se spava
2023;Velika Britanija;Mae Muller;I Wrote A Song
2023;Nemčija;Lord Of The Lost;Blood & Glitter
2023;Islandija;Diljá;Power
2023;Latvija;Sudden Lights;Aijā
2023;Gruzija;Iru;Echo
2023;Grčija;Victor Vernicos;What They Say
2023;Irska;Wild Youth;We Are One
2023;Nizozemska;Mia Nicolai & Dion Cooper;Burning Daylight
2023;Danska;Reiley;Breaking My Heart
2023;Azerbajdžan;TuralTuranX;Tell Me More
2023;Malta;The Busker;Dance (Our Own Party)
2023;Romunija;Theodor Andrei;D.G.T. (Off and On)
2023;San Marino;Piqued Jacks;Like An Animal
1 leto drzava tekmovalec pesem
2 1999 Švedska Charlotte Nilsson Take Me To Your Heaven
3 1999 Islandija Selma Björnsdóttir All Out Of Luck
4 1999 Nemčija Sürpriz Reise Nach Jerusalem - Kudüs'e Seyahat
5 1999 Hrvaška Doris Dragović Marija Magdalena
6 1999 Izrael Eden Yom Huledeth
7 1999 Estonija Evelin Samuel and Camille Diamond Of Night
8 1999 Bosna in Hercegovina Dino and Beatrice Putnici
9 1999 Danska Trine Jepsen & Michael Teschl This Time (i Mean It)
10 1999 Nizozemska Marlayne One Good Reason
11 1999 Avstrija Bobbie Singer Reflection
12 1999 Slovenija Darja Svajger For A Thousand Years
13 1999 Belgija Venessa Chinitor Like The Wind
14 1999 Velika Britanija Precious Say It Again
15 1999 Norveška Stig André Van Eijk Living My Life Without You
16 1999 Malta Times 3 Believe 'n Peace
17 1999 Turčija Tuba Önal & Grup Mystik Dön Artik
18 1999 Irska The Mullan's When You Need Me
19 1999 Poljska Mietek Szczesniak Przytul Mnie Mocno
20 1999 Francija Nayah Je Veux Donner Ma Voix
21 1999 Litva Aiste Smilgeviciute Strazdas
22 1999 Portugalska Rui Bandeira Como Tudo Começou
23 1999 Ciper Marlain Angelidou Tha'nai Erotas
24 1999 Španija Lydia No Quiero Escuchar
25 2015 Švedska Måns Zelmerlöw Heroes
26 2015 Rusija Polina Gagarina A Million Voices
27 2015 Italija Il Volo Grande Amore
28 2015 Belgija Loïc Nottet Rhythm Inside
29 2015 Avstralija Guy Sebastian Tonight Again
30 2015 Latvija Aminata Savadogo Love Injected
31 2015 Estonija Elina Born & Stig Rästa Goodbye to Yesterday
32 2015 Norveška Mørland & Debrah Scarlett A Monster Like Me
33 2015 Izrael Nadav Guedj Golden Boy
34 2015 Srbija Bojana Stamenov Beauty Never Lies
35 2015 Gruzija Nina Sublatti Warrior
36 2015 Azerbajdžan Elnur Hüseynov Hour Of The Wolf
37 2015 Črna gora Knez Adio
38 2015 Slovenija Maraaya Here for You
39 2015 Romunija Voltaj De La Capăt / All Over Again
40 2015 Armenija Genealogy Face The Shadow
41 2015 Albanija Elhaida Dani I'm Alive
42 2015 Litva Monika & Vaidas This Time
43 2015 Grčija Maria Elena Kyriakou One Last Breath
44 2015 Madžarska Boggie Wars For Nothing
45 2015 Španija Edurne Amanecer
46 2015 Ciper John Karayiannis One Thing I Should Have Done
47 2015 Poljska Monika Kuszyńska In The Name Of Love
48 2015 Velika Britanija Electro Velvet Still in Love with You
49 2015 Francija Lisa Angell N’oubliez pas
50 2015 Avstrija The Makemakes I Am Yours
51 2015 Nemčija Ann Sophie Black Smoke
52 2015 Moldavija Eduard Romanyuta I Want Your Love
53 2015 Malta Amber Warrior
54 2015 Belorusija Uzari & Maimuna Time
55 2015 Irska Molly Sterling Playing With Numbers
56 2015 Danska Anti Social Media The Way You Are
57 2015 Nizozemska Trijntje Oosterhuis Walk Along
58 2015 Češka Marta Jandová & Václav Noid Bárta Hope Never Dies
59 2015 Severna Makedonija Daniel Kajmakoski Autumn Leaves
60 2015 Portugalska Leonor Andrade Há um mar que nos Separa
61 2015 Islandija María Ólafsdóttir Unbroken
62 2015 Finska Pertti Kurikan Nimipäivät Aina Mun Pitää
63 2015 San Marino Michele Perniola & Anita Simoncini Chain Of Lights
64 2015 Švica Mélanie René Time To Shine
65 2023 Švedska Loreen Tattoo
66 2023 Finska Käärijä Cha Cha Cha
67 2023 Izrael Noa Kirel Unicorn
68 2023 Italija Marco Mengoni Due vite
69 2023 Norveška Alessandra Queen of Kings
70 2023 Ukrajina Tvorchi Heart of Steel
71 2023 Belgija Gustaph Because of You
72 2023 Estonija Alika Bridges
73 2023 Avstralija Voyager Promise
74 2023 Češka Vesna My Sister's Crown
75 2023 Litva Monika Linkytė Stay
76 2023 Ciper Andrew Lambrou Break a Broken Heart
77 2023 Hrvaška Let 3 Mama ŠČ!
78 2023 Armenija Brunette Future Lover
79 2023 Avstrija Teya & Salena Who The Hell Is Edgar?
80 2023 Francija La Zarra Évidemment
81 2023 Španija Blanca Paloma Eaea
82 2023 Moldavija Pasha Parfeni Soarele și Luna
83 2023 Poljska Blanka Solo
84 2023 Švica Remo Forrer Watergun
85 2023 Slovenija Joker Out Carpe Diem
86 2023 Albanija Albina & Familja Kelmendi Duje
87 2023 Portugalska Mimicat Ai Coração
88 2023 Srbija Luke Black Samo mi se spava
89 2023 Velika Britanija Mae Muller I Wrote A Song
90 2023 Nemčija Lord Of The Lost Blood & Glitter
91 2023 Islandija Diljá Power
92 2023 Latvija Sudden Lights Aijā
93 2023 Gruzija Iru Echo
94 2023 Grčija Victor Vernicos What They Say
95 2023 Irska Wild Youth We Are One
96 2023 Nizozemska Mia Nicolai & Dion Cooper Burning Daylight
97 2023 Danska Reiley Breaking My Heart
98 2023 Azerbajdžan TuralTuranX Tell Me More
99 2023 Malta The Busker Dance (Our Own Party)
100 2023 Romunija Theodor Andrei D.G.T. (Off and On)
101 2023 San Marino Piqued Jacks Like An Animal