Решение на Разлика в сумите от Станимир Митев

Обратно към всички решения

Към профила на Станимир Митев

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 15 успешни тест(а)
  • 0 неуспешни тест(а)

Код

package main
import "strings"
func ExtractColumn(logContents string, column uint8) string {
var textToReturn = ""
var logs []string = strings.Split(logContents, "\n")
for _, element := range logs {
if element != "" {
textToReturn += CreateSubString(element, column)
}
}
return textToReturn
}
func CreateSubString(log string, column uint8) string {
var columnText string = ""
var logText []string = strings.SplitN(log, " ", 4)
switch column {
case 0:
columnText = logText[0] + " " + logText[1]
case 1:
columnText = logText[2]
case 2:
columnText = logText[3]
}
if !strings.Contains(columnText, "\n") && columnText != "" {
return columnText + "\n"
}
return columnText
}

Лог от изпълнението

PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s
PASS
ok  	_/tmp/d20151103-24541-1yubbeh	0.003s

История (1 версия и 1 коментар)

Станимир обнови решението на 25.10.2015 13:44 (преди над 2 години)

+package main
+
+import "strings"
+
+func ExtractColumn(logContents string, column uint8) string {
+ var textToReturn = ""
+ var logs []string = strings.Split(logContents, "\n")
+
+ for _, element := range logs {
+ if element != "" {
+ textToReturn += CreateSubString(element, column)
+ }
+ }
+
+ return textToReturn
+}
+
+func CreateSubString(log string, column uint8) string {
+ var columnText string = ""
+ var logText []string = strings.SplitN(log, " ", 4)
+ switch column {
+ case 0:
+ columnText = logText[0] + " " + logText[1]
+ case 1:
+ columnText = logText[2]
+ case 2:
+ columnText = logText[3]
+ }
+
+ if !strings.Contains(columnText, "\n") && columnText != "" {
+ return columnText + "\n"
+ }
+
+ return columnText
+}

харесва ми, но имам някои забележки :smile::

  1. този if на края на CreateSubString според мен може да се махне
  2. може да се намалят конкатенациите на стрингове с цел по-малко създаване на такива - всеки път се създава нов