Dev-Kyuu
article thumbnail

- ๋ฌธ์ œ : 

  • ์˜ˆ์ œ์™€ ๊ฐ™์ด ํŠธ๋ฆฌ๋ชจ์–‘(=์‚ผ๊ฐํ˜•)์œผ๋กœ ๋ณ„(*)์„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ 
  • ํŠธ๋ฆฌํ˜•์œผ๋กœ ๋ณ„์„ ์ฐ์œผ๋ ค๋ฉด ์ฒซ๋ฒˆ์งธ์ค„์—๋Š” ์–‘์ชฝ์— ๊ณต๋ฐฑ์ด ๋“ค์–ด๊ฐ€์•ผํ•œ๋‹ค.
  • ๊ณต๋ฐฑ์€ 1-> 3 ์ค„์ด ๋ ์ˆ˜๋ก ์ง์ˆ˜๋กœ (-2์”ฉ) ๊ฐ์†Œํ•˜๊ณ , ๋ณ„์€ 1->3์ค„์ด ๋  ์ˆ˜๋ก ํ™€์ˆ˜๋กœ (+2)์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค.

 

- ์†Œ์Šค์ฝ”๋“œ :

package examPrac;

public class algorithmTest2 {
    public void solution(int star) {
        // ๋ณ„ ์ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ, ์‚ผ๊ฐํ˜• ๋ชจ์–‘์œผ๋กœ ๋ณ„์„ ์ถœ๋ ฅํ•œ๋‹ค.
        // ์˜ˆ์ œ 1์˜ star = 3์˜ ๋ณ„ ๋ชจ์–‘ ์‚ผ๊ฐํ˜•์„ ๋ณด๋ฉด
        // ๋ณ„์€ 1๋ฒˆ์งธ ์ค„ ๋ถ€ํ„ฐ 3๋ฒˆ์งธ ์ค„๊นŒ์ง€ 1->3->5 ๋กœ ๋˜๋ฉฐ ๋งˆ์ง€๋ง‰์ค„์€ ์ž…๋ ฅํ•œ ๊ฐ’ * 2 -1 (=5)์ด๊ณ ,
        // ๋ณ„์€ 2๋งŒํผ ์ฆ๊ฐ€ํ•˜๋Š” ํ™€์ˆ˜ ํ˜•ํƒœ์ด๋‹ค.
        // ๊ณต๋ฐฑ์€ 1๋ฒˆ์งธ ์ค„ ๋ถ€ํ„ฐ 3๋ฒˆ์งธ ์ค„๊นŒ์ง€ 4->2->0 ์œผ๋กœ 2์”ฉ ๊ฐ์†Œํ•˜๋Š” ์ง์ˆ˜์ด๋‹ค.

        for (int i = 1; i <= star; i++) {
            // ์ „์ฒด roof๋Š” 1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€์ˆ˜(star)๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

            // 1. ์•ž ๊ณต๋ฐฑ์„ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ
            for (int j = star; j > i; j--) {
                // j๋Š” star(3)๋ถ€ํ„ฐ, j๊ฐ€ i๋ณด๋‹ค ํด๋•Œ๊นŒ์ง€ j ๊ฐ’์„ ๊ฐ์†Œํ•˜๋ฉด์„œ ๋ฐ˜๋ณตํ•œ๋‹ค.
                // star(3)์˜ ์ฒซ๋ฒˆ์งธ ์ค„(i=1)์˜ ๊ฒฝ์šฐ ๊ณต๋ฐฑ์ด 2๋ฒˆ ํ•„์š”ํ•˜๋ฏ€๋กœ j(3)๊ฐ€ i๋ณด๋‹ค ํด๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
                // ๊ทธ๋Ÿฌ๋ฉด ์ฒซ๋ฒˆ์จฐ ์นธ ์•ž ๊ณต๋ฐฑ์€ 2, ๋‘๋ฒˆ์จฐ ์นธ์€ 1, ์„ธ๋ฒˆ์จฐ์นธ์€ 0 ์ด๋ ‡๊ฒŒ ๋ฐ˜๋ณตํ•œ๋‹ค.
                System.out.print(" ");
                // ๊ณต๋ฐฑ์„ ์ฐ๊ธฐ ์œ„ํ•ด " " ์„ ์‚ฌ์šฉํ–ˆ๋‹ค.
            }
            // 2. ๋ณ„์„ ์ฐ๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ
            for (int j = 1; j <= 2 * i - 1; j++) {
                // j =1 ์ด๊ณ , j๊ฐ€ i์˜ 2๋ฐฐ๋ฅผ ๊ณฑํ•œ๊ฐ’์—์„œ -1์„ ํ•œ ๊ฐ’๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
                // ์ฒซ๋ฒˆ์จฐ์ค„์€ ๋ณ„์ด 1๊ฐœ๊ฐ€ ์ฐํžˆ๊ฒŒ๋˜๊ณ , 2๋ฒˆ์จฐ ์ค„์€ 3๊ฐœ, 3๋ฒˆ์จฐ ์ค„์€ 5๊ฐœ
                // 2์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ํ™€์ˆ˜ ํ˜•ํƒœ๋กœ ์ฐํžˆ๊ฒŒ ๋œ๋‹ค.
                System.out.print("*");
                // ๋ณ„์ฐ๊ธฐ
            }
            // 3. ๋’ค ๊ณต๋ฐฑ์„ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ
            for (int j = star; j > i; j--) {
                // 1๋ฒˆ์งธ ์ค„์€ 2๊ฐœ, ๋‘๋ฒˆ์จฐ์ค„์€ 1๊ฐœ, ๋งˆ์ง€๋ง‰์ค„์€ 0๊ฐœ๊ฐ€ ํ•„์š”ํ•˜๋ฏ€๋กœ
                // ์•ž ๊ณต๋ฐฑ๊ณผ ๊ฐ™์€ ๋ฌธ๋งฅ์œผ๋กœ ๋ฐ˜๋ณตํ•œ๋‹ค.
                System.out.print(" ");
            }
            System.out.println("");
            // ํ•œ roof๊ฐ€ ๋๋‚˜๋ฉด ๋‹ค์Œ์นธ์œผ๋กœ ๊ฐ€์„œ ์ฐ์–ด์•ผํ•˜๊ธฐ๋–„๋ฌธ์— Println์„ ์“ด๋‹ค
        }
    }

    public static void main(String[] args) {
        algorithmTest2 result = new algorithmTest2();
        int star = 9;
        result.solution(star);
    }
}

-  ํ’€์ด  : 

  • ์•ž ๊ณต๋ฐฑ์„ ์ฐ๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ / ๋ณ„์„ ์ฐ๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ / ๋’ค ๊ณต๋ฐฑ์„ ์ฐ๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ ์ด ์„ธ ์งœํˆฌ๋ฆฌ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค.
  • ์˜ ์ด์ง€ ~ 
profile

Dev-Kyuu

@kyuu_ng

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!