Who likes it?
xYou probably know the "like" system from Facebook and other pages. People can "like" blog posts, pictures or other items. We want to create the text that should be displayed next to such an item.
Implement a function likes :: [String] -> String, which must take in input array, containing the names of people who like an item. It must return the display text as shown in the examples:
likes {} // must be "no one likes this"
likes {"Peter"} // must be "Peter likes this"
likes {"Jacob", "Alex"} // must be "Jacob and Alex like this"
likes {"Max", "John", "Mark"} // must be "Max, John and Mark like this"
likes {"Alex", "Jacob", "Mark", "Max"} // must be "Alex, Jacob and 2 others like this"
단순한 문제지만 영어로 문장을 만들려니까 콤마, and, 동사인칭을 맞춰줘야해서 짧게는 만들 수 없었다.
x
public class WhoLikeThis {
public static String whoLikesIt(String... names) {
String answer = "";
int len = names.length;
switch (len) {
case 0 : return "no one likes this";
case 1 : return names[0] + " likes this";
case 2 : answer += names[0] + " and " + names[1]; break;
case 3 : answer += names[0] + ", " + names[1] + " and " + names[2]; break;
default: answer += names[0] + ", " + names[1] + " and " + (len-2) + " others";
}
return answer + " like this";
}
'공부 > algorithm' 카테고리의 다른 글
[LeetCode] #1 Two Sum (0) | 2019.12.05 |
---|---|
[codewars] Which are in? (0) | 2019.03.29 |
[codewars] number fun (0) | 2019.03.24 |
[codewars] Dubstep (0) | 2019.03.23 |
[algorithm] 방 번호 (0) | 2019.02.22 |
댓글