let repeatCount = Int(readLine()!)! var scoreStringArr: [Character] = [] for _ in 1...repeatCount { scoreStringArr = Array(readLine()!) var score = 0 var totalScore = 0 for char in scoreStringArr { if char == "O" { score += 1 totalScore += score } else { score = 0 } } print(totalScore) } 규칙만 확실히 이해하면 어렵지 않은 문제다. www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이..
let repeatCount = readLine()! let scoreArr = readLine()!.split(separator: " ").map{ Int($0)! } let maxScore = Double(scoreArr.max()!) var sum: Double = 0 for score in scoreArr { sum += Double(score) / maxScore * 100 } print(sum/Double(scoreArr.count)) swift로 double캐스팅 하는 부분이 좀 까다로웠다. 그만큼 코드안정성이 늘어나는거니까, 뭐... 좋은편 이라고 생각한다. www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 100..
var resultDic: [Int:Int] = [:] for _ in 1...10 { let key = Int(readLine()!)! % 42 if resultDic[key] == nil { resultDic[key] = 1 } } print(resultDic.count) 나머지 숫자 번째의 배열 value에 1을 저장하고, 배열의 총 개수를 프린트한다. www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net