๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/Etc

2์ฐจ์› ๋ฐฐ์—ด ์ธํ˜•๋ฝ‘๊ธฐ

by yunamom 2022. 2. 3.
728x90
300x250
package G1_๋ฐฐ์—ด์‹ฌํ™”1_ํ‰๊ฐ€๋ฌธ์ œ;

public class ๋ฐฐ์—ด6_ํ”„๋กœ์ ํŠธ_์ธํ˜•๋ฝ‘๊ธฐ2_์ •๋‹ต {
	/*
	 * ์œ„ ๋ฐ์ดํ„ฐ๋Š” ์ธํ˜•๋ฝ‘๊ธฐ ๊ธฐ๊ณ„์˜ ๋ฐ์ดํ„ฐ ์ด๋‹ค. (7 x 5) ์‚ฌ์ด์ฆˆ
	 * [์ธํ˜•๋ฒˆํ˜ธ] 
	 * [1 : ํ˜ธ๋ž‘์ด] [2 : ๊ณฐ] [3 : ์‚ฌ์ž] [4 : ๊ธฐ๋ฆฐ]
	 * -------------------------------------------------
	 * [1] ์ˆซ์ž 0 ์€ ๋น„์–ด์žˆ๋Š”๊ฒƒ์„๋œปํ•œ๋‹ค.
	 * [2] ์ˆซ์ž 0 ์ด ์•„๋‹Œ๊ณณ์€ ์ธํ˜•์ด ์žˆ๋Š”๊ฒƒ์„ ๋œปํ•˜๊ณ  ์ˆซ์ž๋Š” ์ธํ˜•๋ฒˆํ˜ธ์ด๋‹ค.
	 * [3] input์˜ ๋ฐ์ดํ„ฐ๋Š” ์˜ค๋Š˜ ์†๋‹˜๋“ค์ด ์ธํ˜•์„ ์„ ํƒํ•œ ์ธ๋ฑ์Šค๋ฒˆํ˜ธ์ด๋‹ค.
	 * [4] ์„ธ๋กœ๋‹จ์œ„๋กœ ํ•œ๋ผ์ธ์ด๊ณ , ์ธ๋ฑ์Šค๋ฒˆํ˜ธ๋Š” ๊ฐ€๋กœ๋กœ ์„ ํƒ์ด ๋œ๋‹ค. (์˜ˆ 0~4๋ฒˆ๊นŒ์ง€ ๊ฐ€๋Šฅ)
	 * [5] ์ธํ˜•์€ ๊ฐ๋ผ์ธ๋ณ„ ์•„๋ž˜์„œ ๋ถ€ํ„ฐ๋ฝ‘ํžŒ๋‹ค. ๋งค์•„๋ž˜๊ฐ€ ๋ฝ‘ํžˆ๋ฏ€๋กœ ์ „๋ถ€ ํ•œ์นธ์”ฉ ๋‚ด๋ ค์˜จ๋‹ค.
	 * ์˜ˆ) input ==> 1 ==> 2,1,4,1,1 ๋ผ์ธ์ด๊ณ  ๋งจ์•„๋ž˜ 1 ์ด ๋ฝ‘ํžˆ๋ฉด 2,1,4,1 ์ด๋œ๋‹ค.
	 * [6] ๋งŒ์•ฝ์— ์ „๋ถ€ ๊ฐ’์ด 0์ธ ๋ผ์ธ์„ ์„ ํƒํ•˜๊ฒŒ๋˜๋ฉด, "๊ฝ" ์ถœ๋ ฅ 
	 * [7] ์˜ค๋Š˜ ํŒ๋งค๋œ ์ธํ˜• ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜์‹œ์š”. 
	 * ์˜ˆ) 
	 *    1 ==> [1:ํ˜ธ๋ž‘์ด]
	 *    0 ==> [2:๊ณฐ]
	 *    0 ==> [4:๊ธฐ๋ฆฐ]
	 *    3 ==> [3:์‚ฌ์ž]
	 *    3 ==> [0:๊ฝ]
	 *    4 ==> [3:์‚ฌ์ž]
	 *    4 ==> [4:๊ธฐ๋ฆฐ]
	 
	 */

	public static void main(String[] args) {
		
		int machine[][] = {
				{0,0,0,0,0},
				{0,0,0,0,3},
				{0,2,0,0,3},
				{3,1,3,0,1},
				{1,4,2,0,2},
				{4,1,4,0,4},
				{2,1,4,3,3},
		};
		
		String[] toys= {"๊ฝ","ํ˜ธ๋ž‘์ด","๊ณฐ","์‚ฌ์ž","๊ธฐ๋ฆฐ"};
		int input[] = {1,0,0,3,3,4,4};
		int game = 0;
		
		int y=machine.length; int x=machine[0].length;
		
		while(game<input.length) {
			int index = input[game];
			int t = machine[y-1][index];
			
			for(int j=y-1; j>0; j--) {
				if(machine[j][index]==0) {
					break;
				}else {
					machine[j][index] = machine[j-1][index];
				}
			}
			System.out.printf("%d ==> [%d:%s]\n",index,t,toys[t]);	game++;
		}	
	}
}

 

728x90
300x250

์ฝ”๋“œ