-
[백준][Kotlin]2559번 수열백준 2023. 4. 10. 13:00728x90
해당 문제는 투 포인터를 사용하면 풀 수 있는 문제였습니다.
간단하게 K의 길이만큼 합을 구한 후 가장 큰 수를 출력하면 됩니다.
하기는 제가 작성한 코드와 제출 결과 입니다.
import java.io.BufferedReader import java.io.BufferedWriter import java.io.InputStreamReader import java.io.OutputStreamWriter import java.util.* import kotlin.collections.ArrayList import kotlin.collections.HashMap fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) //val bw = BufferedWriter(OutputStreamWriter(System.out)) var st = StringTokenizer(br.readLine()) var N = st.nextToken().toInt() var K = st.nextToken().toInt() var arr = IntArray(N){0} st = StringTokenizer(br.readLine()) repeat(N){ arr[it] = st.nextToken().toInt() } var sum = 0 var left = 0 var right = K for(i in left .. right-1){ sum += arr[i] } var answer = sum // 초기값 세팅 for(i in K .. N-1){ sum -= arr[left] sum += arr[right] left++ right++ answer = Math.max(sum,answer) } println(answer) }
'백준' 카테고리의 다른 글
[백준][Kotlin]1717번 집합의 표현 (0) 2023.04.11 [백준][Kotlin] 2042번 구간 합 구하기 (0) 2023.04.10 [백준][Kotlin]15650번 N과 M (2) (0) 2023.04.05 [백준][Kotlin]15649번 N과 M (1) (0) 2023.04.05 [백준][Kotlin] 1987번 알파벳 (0) 2023.04.05