728x90
4단계인 .. 1차원 배열을 풀면서 느낀 점과 .. 기록할 것들임 ..
입력값과 출력값을 잘보자.
만약 소수점이라면 손가락에 힘을 풀고 잠시 생각하자.
또 습관적으로 var value: Int = 0 이러지 말고 .. 제발 ..
> 소수점을 다루는 연산을 할 때는 Int 대신에 Float 또는 Double을 사용하자.
고차함수를 잘 활용하자.
근데 이건 정말 매번 느끼는 것임 .. 근데 매번 나는 쓰는 것만 씀 .. ㅇㅉ ..
관련 문제는 8958번임 문제 링크 ㄱ ㄱ
내 풀이 .. 는 사실 좀 구리지만 아래와 같고,
let count: Int = Int(readLine()!)!
var result = 0
var results: [Int] = []
var counts: [Int] = []
for _ in 1...count {
let arr = readLine()!.map { $0 }
for item in arr {
if item == "O" { result += 1 }
else { result = 0 }
results.append(result)
}
counts.append(results.reduce(0, +))
result = 0
results.removeAll()
}
print(counts.map { String($0) }.joined(separator: "\n"))
보고 와싀 쩐당; 이라고 느낀 것은 이것임 ..
let count: Int = Int(readLine()!)!
for _ in 0..<count {
print(readLine()!.split(separator: "X").reduce(0) {
$0 + ($1.count * ($1.count + 1) / 2)
})
}
+ 이건 왜 틀린걸까? 제발 알려종.
4344번 평균은 넘겠지. 문제인데 .. 처음 풀이가 틀려서 .. 도대체 난 왜 틀렸는지 모르겠지만 .. 일단 틀렸다길래 조금 바꿔서 다시 풀었음 .. 근데 이유를 모르겠어서 혹시 안다면 댓글 ㄱ ㄱ
문제는 아래와 같고 ..
이 문제에 대해서 처음 푼 풀이는 ..
import Foundation
let total = Int(readLine()!)!
var resultArr: [Float] = []
func calculate(count: Int, values: [Int]) -> Float {
let average = (values.reduce(0, +) - values[0]) / count
var result: Int = 0
for item in values {
if item > average { result += 1 }
}
return Float(result)/Float(count) * 100
}
for _ in 1...total {
let values = readLine()!.split(separator: " ").map { Int($0)! }
resultArr.append(calculate(count: values[0], values: values))
}
print(resultArr.map { String(format: "%.3f", $0) + "%" }.joined(separator: "\n"))
이거였는데 틀렸다 그래서 ..
import Foundation
let total = Int(readLine()!)!
for _ in 0...total - 1 {
var scoreArr = readLine()!.split(separator: " ").map { Int($0)! }
let studentNum: Int = scoreArr[0]
scoreArr.removeFirst()
var count: Int = 0
for score in scoreArr {
if score > (scoreArr.reduce(0, +) / studentNum) {
count += 1
}
}
print(String(format: "%.3f", Float(count) / Float(studentNum) * 100), "%", separator: "")
}
이렇게 풀기는 했는데 위의 풀이가 틀린 것이 왜일까 .. ?
진짜 모르겠어 흑흑 🫠
'Algorithm' 카테고리의 다른 글
[백준] 1157번: 단어 공부 (0) | 2022.09.11 |
---|---|
[백준] 2675번: 문자열 반복 (0) | 2022.09.11 |
백준 - 1110번 (더하기 사이클) (0) | 2022.08.23 |
백준 - 10951번 (0) | 2022.08.23 |
백준 - 구구단 (0) | 2022.08.20 |