我正试图提交HackerRank Day 6 Challenge长达30天的代码。
我可以在Xcode的操场上毫无问题地完成这项任务,但是hackrank的网站说我的方法没有输出。我昨天遇到了一个问题,因为浏览器薄片,但清理缓存,从Safari切换到Chrome等,似乎无法解决我在这里遇到的问题。我想我的问题在于。
任务
给定一个长度为n、索引为0到n-1的字符串s,将其偶数索引字符和奇数索引字符作为2个空格分隔的字符串打印在一行上(有关详细信息,请参阅下面的示例)。
输入格式
第一行包含一个整数(测试用例的数量)。
后面每行包含一个字符串,。
约束
12输出格式
对于每个字符串(其中0这是我提交的代码:

import Foundation

let inputString = readLine()!

func tweakString(string: String) {
    // split string into an array of lines based on char set
    var lineArray = string.components(separatedBy: .newlines)

    // extract the number of test cases
    let testCases = Int(lineArray[0])

    // remove the first line containing the number of unit tests
    lineArray.remove(at: 0)

    /*
    Satisfy constraints specified in the task
     */
    guard lineArray.count >= 1 && lineArray.count <= 10 && testCases == lineArray.count else { return }

    for line in lineArray {
        switch line.characters.count {
        // to match constraint specified in the task
        case 2...10000:
            let characterArray = Array(line.characters)
            let evenCharacters = characterArray.enumerated().filter({$0.0 % 2 == 0}).map({$0.1})
            let oddCharacters = characterArray.enumerated().filter({$0.0 % 2 == 1}).map({$0.1})

            print(String(evenCharacters) + " " + String(oddCharacters))
        default:
            break
        }
    }
}

tweakString(string: inputString)

我认为我的问题在于。我将按原样处理,并在方法中对其进行格式化。我已经找到了第6天的解决方案,但我似乎找不到任何当前的快速解决方案。
谢谢你的阅读。我欢迎关于如何让这件事过去的想法。

最佳答案

readLine()从标准输入读取一行,其中
意味着您的inputString只包含
输入数据。你必须循环调用readLine()才能得到
其余的输入数据。
所以你的程序可能是这样的:

func tweakString(string: String) -> String {
    // For a single input string, compute the output string according to the challenge rules ...
    return result
}

let N = Int(readLine()!)! // Number of test cases

// For each test case:
for _ in 1...N {
    let input = readLine()!
    let output = tweakString(string: input)
    print(output)
}

(此处可接受强制展开,因为
输入数据记录在质询描述中。)

关于swift - 难以让readLine()在HackerRank上按需运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42025437/

10-15 05:32