Code Submission Evaluation System Login

Datatähti 2018 alku

Start:2017-10-02 00:00:00
End:2017-10-16 00:00:00
 

Tasks | Messages | Scoreboard | Statistics


CSES - Datatähti 2018 alku - Results
History
2017-10-04 19:37:50100
Task:Merkkijono
Sender:Oskar
Submission time:2017-10-04 19:37:50
Language:Java
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED

Test results

testverdicttime (s)
#1ACCEPTED0.21 / 1.00details
#2ACCEPTED0.32 / 1.00details
#3ACCEPTED0.37 / 1.00details
#4ACCEPTED0.24 / 1.00details
#5ACCEPTED0.33 / 1.00details
#6ACCEPTED0.21 / 1.00details
#7ACCEPTED0.21 / 1.00details
#8ACCEPTED0.23 / 1.00details
#9ACCEPTED0.23 / 1.00details
#10ACCEPTED0.23 / 1.00details

Code

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        String currentString = s.nextLine();
        while (true) {
            List<String> list = getAsList(currentString);
            if (containsLongerThan(list, 2)) {
                currentString = getAsStringAndRemove(list);
            } else {
                System.out.println(currentString);
                break;
            }
        }
    }

    public static String getAsStringAndRemove(List<String> list) {
        List<String> newList = list;
        for (String s : list) {
            if (!(s.length() < 2)) {
                newList.remove(s);
                break;
            }
        }

        StringBuilder sb = new StringBuilder();
        for (String s : newList) {
            sb.append(s);
        }

        return sb.toString();
    }


    public static ArrayList<String> getAsList(String input) {
        //TODO: change last array
        char last = '.';
        StringBuilder sb = new StringBuilder();
        ArrayList<String> list = new ArrayList<>();
        final int len = input.length();
        for (int i = 0; i < len; i++) {
            char c = input.charAt(i);
            if (i == 0) {
                last = c;
                sb.append(c);
            } else if (i == len - 1) {
                if (last == c) {
                    sb.append(c);
                    list.add(sb.toString());
                } else {
                    list.add(sb.toString());
                    sb = new StringBuilder();
                    sb.append(c);
                    list.add(sb.toString());
                }
            } else {
                if (last == c) {
                    sb.append(c);
                } else {
                    list.add(sb.toString());
                    sb = new StringBuilder();
                    sb.append(c);
                    last = c;
                }
            }
        }
        return list;
    }

    public static boolean containsLongerThan(List<String> list, int limit) {
        for (String s : list) {
            if (!(s.length() < limit)) {
                return true;
            }
        }
        return false;
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...
view   save

correct output
ABABABABABABABABABABABABABABAB...
view   save

user output
ABABABABABABABABABABABABABABAB...
view   save

Test 2

Verdict: ACCEPTED

input
AABBAABBAABBAABBAABBAABBAABBAA...
view   save

correct output
(no output)
view   save

user output
(no output)
view   save

Test 3

Verdict: ACCEPTED

input
ABABABABABABABABABABABABABABAB...
view   save

correct output
(no output)
view   save

user output
(no output)
view   save

Test 4

Verdict: ACCEPTED

input
BBABABBBBBAABBBABABABBBBAAABAB...
view   save

correct output
BAB
view   save

user output
BAB
view   save

Test 5

Verdict: ACCEPTED

input
ACDCBBACDBBBACAACBBDBADBAABABA...
view   save

correct output
ACDCACDADBADABACACDCADADABABCA...
view   save

user output
ACDCACDADBADABACACDCADADABABCA...
view   save

Test 6

Verdict: ACCEPTED

input
EETFHIJOGACDHMGVFJCMETMZDEITTR...
view   save

correct output
TFHIJOGACDHMGVFJCMETMZDEIROTET...
view   save

user output
TFHIJOGACDHMGVFJCMETMZDEIROTET...
view   save

Test 7

Verdict: ACCEPTED

input
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB...
view   save

correct output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...
view   save

user output
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE...
view   save

Test 8

Verdict: ACCEPTED

input
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS...
view   save

correct output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...
view   save

user output
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK...
view   save

Test 9

Verdict: ACCEPTED

input
QUVVTPXAMWWODFXRONJODPGBTCISGM...
view   save

correct output
QUTPXAMODFXRONJODPGBTCISGMVRBW...
view   save

user output
QUTPXAMODFXRONJODPGBTCISGMVRBW...
view   save

Test 10

Verdict: ACCEPTED

input
POXHAHYEZTLYNFSLABODMRNKDSKROZ...
view   save

correct output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...
view   save

user output
POXHAHYEZTLYNFSLABODMRNKDSKROZ...
view   save