๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 11504_๋Œ๋ ค ๋Œ๋ ค ๋Œ๋ฆผํŒ!

๋ฟŒ์•ผ._. 2024. 5. 27. 14:38

Silver V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/11504)

< ๋Œ๋ ค ๋Œ๋ ค ๋Œ๋ฆผํŒ! >

 

๋ฌธ์ œ ํ’€์ด 

 

๋Œ๋ฆผํŒ์˜ ๋ชจ๋“  ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•ด์„œ ์ˆซ์ž๋ฅผ ๋งŒ๋“ ๋‹ค.

 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class _11504_ { // ๋Œ๋ ค ๋Œ๋ ค ๋Œ๋ฆผํŒ!

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st;

		int t = Integer.parseInt(bf.readLine());

		int num[] = new int[2];

		for (int i = 0; i < t; i++) {
			st = new StringTokenizer(bf.readLine());

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

			String str = "";

			for (int j = 0; j < 2; j++) {
				st = new StringTokenizer(bf.readLine());
				for (int k = 0; k < m; k++) {
					str += st.nextToken();
				}
				num[j] = Integer.parseInt(str);
				str = "";
			}

			int arr[] = new int[n];
			st = new StringTokenizer(bf.readLine());
			for (int j = 0; j < n; j++) {
				arr[j] = Integer.parseInt(st.nextToken());
			}

			int result = 0;
			for (int j = 0; j < n; j++) {
				str = "";
				for (int k = 0; k < m; k++) {
					if (j + k >= n) {
						str += arr[j + k - n];
					} else {
						str += arr[j + k];
					}
				}
				if (num[0] <= Integer.parseInt(str) && Integer.parseInt(str) <= num[1]) {
					result += 1;
				}
			}
			bw.write(result + "\n");
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
t : ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ๊ฐœ์ˆ˜
num : X์™€ Y์˜ ๊ฐ’
n, m : N๋“ฑ๋ถ„, X์™€ Y์˜ ๊ธธ์ด
str : ์ˆซ์ž ์ด์–ด ๋ถ™์ด๊ธฐ ์œ„ํ•œ ๋ฌธ์ž์—ด
arr : ๋Œ๋ฆผํŒ์˜ ์ƒํƒœ
result : ๊ฒŒ์ž„์„ ์Šน๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ง“์ˆ˜

 

ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํ…Œ์ŠคํŠธ์ผ€์ด์Šค ์ˆ˜๋งŒํผ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) n๊ณผ m์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

2) X์™€ Y ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„ num ๋ฐฐ์—ด์— ๊ฐ๊ฐ ์ €์žฅํ•œ๋‹ค.

3) ๋Œ๋ฆผํŒ์˜ ์ƒํƒœ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ arr ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.

4) ๋Œ๋ฆผํŒ์˜ ๋ชจ๋“  ์œ„์น˜์—์„œ ์‹œ์ž‘ํ•ด์„œ m๋งŒํผ ์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ๋Œ์•„๊ฐ€๋ฉด์„œ ์ˆซ์ž๋ฅผ ๊ตฌํ•œ๋‹ค. ๊ตฌํ•œ ๊ฐ’์ด X์ด์ƒ Y์ดํ•˜๋ผ๋ฉด result+1์„ ํ•ด์ค€๋‹ค.

5) ์ตœ์ข… result๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.