티스토리 뷰
2559번: 수열
첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기
www.acmicpc.net
풀이
1) 먼저 입력값을 저장할 배열을 만듬
2) 배열의 0~K-1 까지 원소의 합을 sum과 max에 저장함
3) K = N 이면 max 출력
4) K != N 이면 K부터 N까지 sum에 다음 숫자를 더하고 처음숫자를 빼서 max 갱신
5) max 출력
주의사항
1) K = N 일 경우
2) 맨처음 max = sum
package com.baekJoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.util.StringTokenizer;
public class BJ_S3_2559_수열 {
static BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
static StringTokenizer tokens;
static int N,K,arr[];
public static void main(String[] args) throws NumberFormatException, IOException {
input = new BufferedReader(new StringReader(src));
tokens = new StringTokenizer(input.readLine());
N = Integer.parseInt(tokens.nextToken());
K = Integer.parseInt(tokens.nextToken());
arr = new int[N];
tokens = new StringTokenizer(input.readLine());
for(int n=0; n<N; n++) {
arr[n] = Integer.parseInt(tokens.nextToken());
}
int sum = 0;
int max = 0;
for(int k=0; k<K; k++) {
sum += arr[k];
}
max = sum;
if(N==K) {
System.out.println(max);
}else {
for(int n=K; n<N; n++) {
sum+=arr[n];
sum-=arr[n-K];
if(max < sum) {
max = sum;
}
}
System.out.println(max);
}
}
static String src =
"10 10\r\n" +
"3 -2 -4 -9 0 3 7 13 8 -3";
}
후기
주의사항에 적은 부분때문에 2번이나 틀렸다. 젠장.. 아직 수련이 부족하다.
정답 비율이 34.9% 인데 거의 나랑 비슷한 실수를 한게 아닌가 싶다.
'Algorithm' 카테고리의 다른 글
[백준] S4 1764 듣보잡 (java) (0) | 2021.01.05 |
---|---|
[백준] S2 2491 수열 (java) (0) | 2021.01.04 |
[백준] G5 1600 말이 되고픈 원숭이 (java) (1) | 2021.01.04 |
[백준] S2 3184 양 (java) (0) | 2021.01.03 |
[백준] S1 16198 에너지 모으기 (java) (0) | 2021.01.03 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 구현
- 문자열
- PriorityQueue
- react native
- 리액트 네이티브
- G5
- java
- react
- 리액트
- Spring Boot
- 알고리즘
- 시뮬레이션
- SWEA
- BFS
- DFS
- g4
- 우선순위큐
- map
- 백트래킹
- Spring
- 백준
- 자바
- 그리디
- 현꾸라지
- 객체지향
- 코딩새내기
- S2
- 다익스트라
- laugh4mile
- S3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함