수열2 [Swift][누적합] 백준 2559번 (수열) 요구능력 누적합 문제풀이 누적합의 구간의 합을 구할 수 있는지를 묻는 문제이다. 손으로 인덱스와 숫자를 적어놓고 k를 빼주면 원하는 갯수의 누적합을 구할 수 있다는걸 알게될것이다. Int.max에 -1을 곱해준 이유는 최대값이 음수가 될 수 있는 경우를 고려해준것이다. if i -k < -1인 경우는 구하려는 누적합의 갯수만큼 나오지 않기 때문에 처리해준것이고, if i - k == -1인 경우는 맨처음부터 원하는 갯수인 k개만큼 나오기에 구해둔 누적합만 불러온것이다. 후기 최대값이 음수가 될 수 있다는점을 잘 고려하자. 코드 import Foundation let nk = readLine()!.split(separator: " ").map{Int(String($0))!} let n = nk[0] let.. 2022. 5. 30. [Swift][누적합][LV_3] 파괴되지 않은 건물 요구능력 : 누적합 코드설명 : 카카오테크블로그에 정말 설명이 쉽게 잘되어있습니다. 사실상 똑같은 유형의 문제를 접해보지 않는이상 이 문제는 풀기 어려운것같습니다. 누적합을 공부하고 이 문제를 풀어보면서 너무 많이 돈다고 생각했는데, 알고보니 변화하는 부분을 한번에 다 체크해주고 누적합을 한번에 구하는것이었습니다. 후기 : 개념을 알고있으면 쉬운문제인데 개념을 모른다면 효율성테스트를 절대 통과할 수 없다. func solution(_ board:[[Int]], _ skill:[[Int]]) -> Int { let n = board.count let m = board[0].count var count = 0 var preArr = Array(repeating: Array(repeating: 0, count.. 2022. 2. 24. 이전 1 다음