입력 받을 문자열 수와 문자열을 입력받고 출력 포멧에 맞게 출력하세요.
n // 입력 받을 문자열 수
s_1 // 문자열
s_2
..
s_n
Hello s_1,s_2,..s_n.
void main() {
// Hello Java,Gino.
print(solution(['Java', 'Gino']));
// Hello Alice,Bob,Carol,Dave,Ellen.
print(solution(['Alice', 'Bob', 'Carol', 'Dave', 'Ellen' ]));
}
String solution(List<String> texts) {
String result = 'Hello ';
for(int i = 0; i < texts.length; i++) {
result += texts[i];
if(i < texts.length - 1) {
result += ',';
} else {
result += '.';
}
}
return result;
}
For문과 계속 더하는 +연산을 사용하면 입력받는 문자열의 수가 100만 개가 넘을 때, 처리속도가 느려지거나 에러가 나는 경우가 생겨서 StringBuffer를 사용해 풀어보았다.
String solution(List<String> texts) {
final result = StringBuffer(‘Hello ‘);
for(int i = 0; i < texts.length; i++) {
result.write(‘${texts[i]},‘);
}
return result.toString().substring(0, result.length - 1) + ‘.’;
}
String solution(List<String> texts) {
final result = texts
.fold<String>('Hello ', (prev, next) => '$prev$next,');
return '${result.toString().substring(0, result.length - 1)}.';
}
String solution(List<String> texts) {
final result = texts
.fold<String>('Hello ', (prev, next) => '$prev$next,');
return result.replaceRange(result.length - 1, null, '.');
}
String solution(int N, int M) {
return (N + M).isOdd ? 'YES' : 'NO';
}