Task: | Merkkijono |
Sender: | Oskar |
Submission time: | 2017-10-04 19:37:50 +0300 |
Language: | Java |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.21 s | details |
#2 | ACCEPTED | 0.32 s | details |
#3 | ACCEPTED | 0.37 s | details |
#4 | ACCEPTED | 0.24 s | details |
#5 | ACCEPTED | 0.33 s | details |
#6 | ACCEPTED | 0.21 s | details |
#7 | ACCEPTED | 0.21 s | details |
#8 | ACCEPTED | 0.23 s | details |
#9 | ACCEPTED | 0.23 s | details |
#10 | ACCEPTED | 0.23 s | details |
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... |
correct output |
---|
ABABABABABABABABABABABABABABAB... |
user output |
---|
ABABABABABABABABABABABABABABAB... |
Test 2
Verdict: ACCEPTED
input |
---|
AABBAABBAABBAABBAABBAABBAABBAA... |
correct output |
---|
(empty) |
user output |
---|
(empty) |
Test 3
Verdict: ACCEPTED
input |
---|
ABABABABABABABABABABABABABABAB... |
correct output |
---|
(empty) |
user output |
---|
(empty) |
Test 4
Verdict: ACCEPTED
input |
---|
BBABABBBBBAABBBABABABBBBAAABAB... |
correct output |
---|
BAB |
user output |
---|
BAB |
Test 5
Verdict: ACCEPTED
input |
---|
ACDCBBACDBBBACAACBBDBADBAABABA... |
correct output |
---|
ACDCACDADBADABACACDCADADABABCA... |
user output |
---|
ACDCACDADBADABACACDCADADABABCA... |
Test 6
Verdict: ACCEPTED
input |
---|
EETFHIJOGACDHMGVFJCMETMZDEITTR... |
correct output |
---|
TFHIJOGACDHMGVFJCMETMZDEIROTET... |
user output |
---|
TFHIJOGACDHMGVFJCMETMZDEIROTET... |
Test 7
Verdict: ACCEPTED
input |
---|
GOONLAHLYPRFCZKIKSJWAWWYJJPCDB... |
correct output |
---|
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE... |
user output |
---|
GNLAHLYPRFCZKIKSJWAYPCDNWYMRCE... |
Test 8
Verdict: ACCEPTED
input |
---|
PISHWMOTCDDZFRMYMOMYDYYGJZIQHS... |
correct output |
---|
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK... |
user output |
---|
PISHWMOTCZFRMYMOMYDGJZIQHSVAOK... |
Test 9
Verdict: ACCEPTED
input |
---|
QUVVTPXAMWWODFXRONJODPGBTCISGM... |
correct output |
---|
QUTPXAMODFXRONJODPGBTCISGMVRBW... |
user output |
---|
QUTPXAMODFXRONJODPGBTCISGMVRBW... |
Test 10
Verdict: ACCEPTED
input |
---|
POXHAHYEZTLYNFSLABODMRNKDSKROZ... |
correct output |
---|
POXHAHYEZTLYNFSLABODMRNKDSKROZ... |
user output |
---|
POXHAHYEZTLYNFSLABODMRNKDSKROZ... |