1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [S2_16926] ๋ฐฐ์—ด ๋Œ๋ฆฌ๊ธฐ 1

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

public class Main {
	static StringTokenizer st;

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		st = new StringTokenizer(br.readLine(), " ");

		// ํ–‰์˜ ์ˆ˜
		int N = Integer.parseInt(st.nextToken());
		// ์—ด์˜ ์ˆ˜
		int M = Integer.parseInt(st.nextToken());
		// ํšŒ์ „ ์ˆ˜
		int R = Integer.parseInt(st.nextToken());

		// ๋„ฃ์–ด์ค„ ๋ฐฐ์—ด
		int[][] arr = new int[N][M];

		// ์ž…๋ ฅ
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine(), " ");
			for (int j = 0; j < M; j++) {
				arr[i][j] = Integer.parseInt(st.nextToken());
			}
		}

		// ๋Œ๋ฆฌ๊ธฐ
		while (R != 0) {
			// ์•ˆ์— ๊ฐœ์ˆ˜
			for (int z = 0; z < (Math.min(N, M) / 2); z++) {
				// ํ•˜๋‚˜ ๋นผ์ฃผ๋Š” ์ˆ˜ 
				int first = arr[z][z];
				// ์œ„์—
				for (int i = 0 + z; i < M - 1 - z; i++) {
					arr[0 + z][i] = arr[0 + z][i + 1];
				}
				// ์˜ค๋ฅธ์ชฝ
				for (int i = 0 + z; i < N - 1 - z; i++) {
					arr[i][M - 1 - z] = arr[i + 1][M - 1 - z];
				}
				// ๋ฐ‘์—
				for (int i = M - 1 - z; i > 0 + z; i--) {
					arr[N - 1 - z][i] = arr[N - 1 - z][i - 1];
				}
				// ์™ผ์ชฝ
				for (int i = N - 1 - z; i > 0 + z; i--) {
					arr[i][0 + z] = arr[i - 1][0 + z];
				}
				arr[1 + z][z] = first;
			}
			R--;
		}

		for (int i = 0; i < N; i++) {
			for (int j = 0; j < M; j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
        }
	}
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

๋ฐฐ์—ด์„ ํ•œ ๋ฒˆ๋งŒ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ R๋งŒํผ ์˜ฎ๊ฒจ์•ผ ํ•˜๋ฏ€๋กœ ์ข€ ๋” ์ƒ๊ฐ์ด ํ•„์š”ํ–ˆ๋˜ ๋ฌธ์ œ์ด๋‹ค.
๊ทธ๋ž˜์„œ z๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ์ฒซ๋ฒˆ์งธ ๊ฒ‰๊ป์งˆ๋“ค์„ ๋‹ค ์˜ฎ๊ธฐ๊ณ  ๋‚˜๋ฉด ํ•˜๋‚˜์”ฉ ๋‹ค ์ค„์–ด๋“ค๊ฒŒ ํ•˜์—ฌ ๊ทธ ๋‹ค์Œ ๊ป์งˆ์„ ์˜ฎ๊ธฐ๊ฒŒ ํ–ˆ๋‹ค. ์ด๊ฒƒ์„ ๋ฐฐ์—ด ํฌ๊ธฐ์˜ ๋ฐ˜๋งŒํผ ์ˆ˜ํ–‰ํ•ด ์ฃผ์—ˆ๋‹ค.
๊ป์งˆ๋“ค์„ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์— ์›์†Œํ•˜๋‚˜๋ฅผ ๋นผ๊ณ  ๊ทธ์ž๋ฆฌ๋ฅผ ์‹œ์ž‘์œผ๋กœ ์œ„ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์™ผ์ชฝ ์ˆœ์œผ๋กœ ํ•œ ์นธ์”ฉ ์˜ฎ๊ฒจ ์ฃผ์—ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์— ๋นผ๋†“์•˜๋˜ ์›์†Œ๋ฅผ ๋‹ค์‹œ ์ง‘์–ด๋„ฃ์œผ๋ฉด ๋ !!
๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค ์ค‘์—๋Š” ์Šค์™‘์„ ํ•ด๋†“์€ ๊ฒƒ๋„ ์žˆ๋˜๋ฐ ์Šค์™‘๋„ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: