Skip to content

Commit

Permalink
Complete baekjoon/silver3/q21921_blog(블로그)
Browse files Browse the repository at this point in the history
  • Loading branch information
bong6981 committed Dec 28, 2021
1 parent 1ddbaec commit 639cb60
Show file tree
Hide file tree
Showing 4 changed files with 157 additions and 1 deletion.
Expand Up @@ -5,7 +5,7 @@
import java.util.Scanner;

// https://www.acmicpc.net/problem/15649
public class Q15649 {
public class Q15649_NAndM {
private static List<Integer[]> answer;
private static int m;
private static int n;
Expand Down
128 changes: 128 additions & 0 deletions baekjoon/java/src/silver3/Q21921_Blog.java
@@ -0,0 +1,128 @@
package silver3;

import java.io.*;
import java.util.*;

// https://www.acmicpc.net/problem/21921
public class Q21921_Blog {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
int prev = 0;
int[] visitors = new int[n];
for (int i = 0; i < n; i++) {
int r = sc.nextInt();
visitors[i] = r;
if(i < x) {
prev += r;
}
}

int start = 0;
int end = start + x - 1;

List<Integer> record = new ArrayList<>();
record.add(prev);
start++;
end++;
while(end < n) {
prev = prev - visitors[start-1] + visitors[end];
record.add(prev);
start++;
end++;
}
record.sort(Collections.reverseOrder());
if(record.get(0) == 0) {
System.out.println("SAD");
return;
}
System.out.println(record.get(0));
int cnt = 0;
for (int integer : record) {
if(integer == record.get(0)) {
cnt++;
continue;
}
break;
}
System.out.println(cnt);
}

public static void fail() {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
sc.nextLine();
int[] visitors = Arrays.stream(sc.nextLine().split(" ")).mapToInt(Integer::parseInt).toArray();

int start = 0;
int end = start + x - 1;
int prev = 0;
for (int i = 0; i < x; i++) {
prev += visitors[i];
}

List<Integer> record = new ArrayList<>();
record.add(prev);
start++;
end++;
while(end < n) {
prev = prev - visitors[start-1] + visitors[end];
record.add(prev);
start++;
end++;
}
record.sort(Collections.reverseOrder());
if(record.get(0) == 0) {
System.out.println("SAD");
return;
}
System.out.println(record.get(0));
//여기를 아래와 같이 filter를 걸면 틀리고, 직업 해당 개수를 count해주면 맞는다.
System.out.println(record.stream().filter(r -> r.equals(record.get(0))).count());
}

// 백준 id : aeternussm, BufferedReader 학습용으로 작성해두었다
// https://www.acmicpc.net/source/35151640
public static void other() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());

int n = Integer.parseInt(st.nextToken());
int x = Integer.parseInt(st.nextToken());

int[] visitors = new int[n];
st = new StringTokenizer(br.readLine());
int prev = 0;
for (int i = 0; i < n; i++) {
visitors[i] = Integer.parseInt(st.nextToken());
if(i < x) prev += visitors[i];
}

int answer = prev;
int cnt = 0;
if( prev > 0) cnt++;

for (int i = x; i < n; i++) {
prev = prev - visitors[i-x] + visitors[i];
if( answer < prev) {
answer = prev;
cnt = 1;
continue;
}
if( answer == prev ) {
cnt++;
}
}

if (answer == 0) bw.write("SAD");
else {
bw.write(answer + "\n");
bw.write(String.valueOf(cnt));
}
bw.flush();
bw.close();
}
}
1 change: 1 addition & 0 deletions baekjoon/python/bronze1/q2839_sugar_delivery.py
@@ -1,3 +1,4 @@
# https://www.acmicpc.net/problem/2839
def solution():
n = int(input())
q, r = divmod(n, 5)
Expand Down
27 changes: 27 additions & 0 deletions baekjoon/python/silver3/q21921_blog.py
@@ -0,0 +1,27 @@
# https://www.acmicpc.net/problem/21921
def solution():
n, x = map(int, input().split())
visitors = list(map(int, input().split()))
start = 0
end = start + x - 1
prev = 0
for i in range(x):
prev += visitors[i]

record = [prev]
start += 1
end += 1
while end < n :
prev = prev - visitors[start-1] + visitors[end]
record.append(prev)
start += 1
end += 1

record.sort(reverse=True)
if record[0] == 0 :
print("SAD")
return
print(record[0])
print(record.count(record[0]))

solution()

0 comments on commit 639cb60

Please sign in to comment.