diff --git "a/ksinji/202512/04 BOJ \354\210\230\353\223\244\354\235\230 \355\225\251 4.md" "b/ksinji/202512/04 BOJ \354\210\230\353\223\244\354\235\230 \355\225\251 4.md" new file mode 100644 index 00000000..29a32ac8 --- /dev/null +++ "b/ksinji/202512/04 BOJ \354\210\230\353\223\244\354\235\230 \355\225\251 4.md" @@ -0,0 +1,36 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws Exception { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + int n = Integer.parseInt(st.nextToken()); + int k = Integer.parseInt(st.nextToken()); + + st = new StringTokenizer(br.readLine()); + + long sum = 0L; + long answer = 0L; + + Map count = new HashMap<>(); + count.put(0L, 1L); + + for (int i = 0; i < n; i++) { + int x = Integer.parseInt(st.nextToken()); + sum += x; + + long target = sum - k; + if (count.containsKey(target)) { + answer += count.get(target); + } + + count.put(sum, count.getOrDefault(sum, 0L) + 1); + } + + System.out.println(answer); + } +} +```