CSES - Datatähti 2021 alku - Results
Submission details
Task:Sanalista
Sender:Jiahao
Submission time:2020-09-30 07:37:10 +0300
Language:Java
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.20 sdetails
#2ACCEPTED0.20 sdetails
#3ACCEPTED0.20 sdetails

Code

import java.util.ArrayList;
import java.util.Scanner;
import java.util.stream.Collectors;
import java.util.HashMap;

public class Sanalista {
    public static void main(String[] args) {
        Scanner lukija = new Scanner(System.in);
        ArrayList<String> sanat = new ArrayList<>();

        int n = Integer.valueOf(lukija.nextLine());

        for (int i = 0; i < n; i++) {
            String syote = lukija.nextLine();

            if (syote.length() % 2 == 0) {
                sanat.add(syote);
            }
        }

        sanat = (ArrayList<String>) sanat.stream().filter(sana -> {
            HashMap<Character, Integer> kirjaimet = new HashMap<>();
            // System.out.println("sana: " + sana);

            for (int k = 0; k < sana.length(); k++) {
                char kirjain = sana.charAt(k);
                int lkm = kirjaimet.getOrDefault(kirjain, 0) + 1;
                kirjaimet.put(kirjain, lkm);
            }

            for (Integer lkm : kirjaimet.values()) {
                if (lkm % 2 == 1) {
                    // System.out.println("remove: " + sana);
                    return false;
                }
            }

            return true;
        }).collect(Collectors.toList());

        // System.out.println("list:");
        //sanat.forEach(System.out::println);
        System.out.println(sanat.size());
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1000
korvata
sopimusaika
nuhatartunta
korttiautomaatti
...

correct output
15

user output
15

Test 2

Verdict: ACCEPTED

input
1000
pub
hansikaslokero
erikoisvalmisteinen
unijukka
...

correct output
42

user output
42

Test 3

Verdict: ACCEPTED

input
1000
haapalastu
toipumisaika
mustalaiskieli
taidelainaamo
...

correct output
70

user output
70