Dev-Kyuu
article thumbnail

- ๋ฌธ์ œ :

  • ํ•ญํ•ด 1์ผ์ฐจ ๋‚ ์งœ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด 98์ผ ์ดํ›„ ํ•ญํ•ด๋ฅผ ์ˆ˜๋ฃŒํ•˜๊ฒŒ ๋˜๋Š” ๋‚ ์งœ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŒ๋“ค๊ธฐ 
  • ์œค์ผ์€ ๊ณ ๋ คํ•˜์ง€์•Š๊ณ (2์›”์€ 28์ผ ๊นŒ์ง€), 1 <= month <= 12

 

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

package examPrac;

public class exam1 {
    public static void main(String[] args) {
        int a = 5;              // ํ•ญํ•ด99 ์‹œ์ž‘ ์›” ์ž…๋ ฅ๋ฐ›์„ ๋ณ€์ˆ˜ ์„ ์–ธ
        int b = 24;             // ํ•ญํ•ด99 ์‹œ์ž‘ ์ผ ์ž…๋ ฅ๋ฐ›์„ ๋ณ€์ˆ˜ ์„ ์–ธ

        int[] monthsDay = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};     // 1~12 ์›”๋ณ„ ์ผ์ˆ˜ ๋ฐฐ์—ด ์„ ์–ธ
        int totalDate = 0;   // ์ด ์ผ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ ์„ ์–ธ&์ดˆ๊ธฐํ™”
        int mon1 = 1;       // 98์ผ ํ›„ ์›”์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ 1์›”๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ๋•Œ๋ฌธ์— 1๋กœ ์ดˆ๊ธฐํ™”ํ•จ
        int day1 = 0;       // 98์ผ ํ›„ ๋‚ ์งœ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜
        int result = 0;     // result ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜

        for (int i = 0; i < a - 1; i++) {
            // ๋จผ์ € ์œ„์—์„œ ์„ ์–ธํ•œ ์‹œ์ž‘์ผ์ด ๋ช‡์ผ์งธ์ธ์ง€ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.
            totalDate += monthsDay[i];
            // i๋Š” 0๋ถ€ํ„ฐ, a(์›”)-1์„ ํ•œ ๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ totalDate์— ์ผ์ˆ˜๋ฅผ ๋”ํ•œ๋‹ค.
        }
        totalDate += b + 98;
        // ์ง์ „๋‹ฌ๊นŒ์ง€ ๋”ํ•œ TotalDate ํ•จ์ˆ˜์— ํ•ด๋‹น์›”์˜ ์ผ(=b)๋ฅผ ๋”ํ•˜๊ณ , 98์ผ ํ›„์˜ ๋‚ ์งœ๋ฅผ ๊ตฌํ•˜๊ธฐ์œ„ํ•ด 98์„ ๋”ํ•œ๋‹ค.
        result = totalDate % 365;
        // ๋งŒ์ผ ๊ธฐ์ค€์ผ(a์›” b์ผ) + 98์ผ์ด ๋‚ด๋…„์œผ๋กœ ๋„˜์–ด๊ฐ”์„๋•Œ๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด๋‹น ์ž‘์—…์„ ํ•ด์ค€๋‹ค.

        for (int i = 0; i < 12; i++) {
            // 98์ผ ์ดํ›„์˜ ๋‚ ์งœ๋ฅผ ๊ตฌํ•˜๊ธฐ์œ„ํ•ด 0๋ถ€ํ„ฐ monthDay๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋งŒํผ(=12) ์ฆ๊ฐ€ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต๋œ๋‹ค.
            if (result - monthsDay[i] > 0) {
                // result ์—์„œ MonthDay[i]๋ฅผ ๋บ€ ๊ฐ’์ด 0 ๋ณด๋‹ค ์ž‘์•„์งˆ ๋–„๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š”๋ฐ
                // ๋งŒ์•ฝ ๊ฒฐ๊ณผ๊ฐ’์—์„œ monthDay[i]๋ฅผ ๋บ€ ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ํ•ด๋‹น์›”์— ๋„๋‹ฌํ•œ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
                result = result - monthsDay[i];
                mon1 = mon1 + 1;
                // ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค ๊ฐ’์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ 1์”ฉ ์ž‘๊ธฐ๋•Œ๋ฌธ์— +1์ผ์„ ํ•˜์—ฌ mon1์— ๋„ฃ๋Š”๋‹ค.
            } else {
                day1 = result;
                // ์›”์„ ๊ตฌํ•˜๊ณ  ๋‚จ์€ ๊ฐ’(= ํ•œ๋‹ฌ์„ ๋‹ค ์ฑ„์šฐ์ง€ ๋ชปํ•˜๊ณ  ๋‚จ์€ ์ผ์ˆ˜)๋ฅผ Day ๋ณ€์ˆ˜์— ๋„ฃ๋Š”๋‹ค.
                break;
            }
        }
        System.out.println(mon1 +","+ day1);
        // ์›”, ์ผ์„ ์ถœ๋ ฅ!
    }
}

- ํ’€์ด : 

  • ์ด ๋ฌธ์ œ๋Š” ์„ธ ๋ฌธ์ œ ์ค‘ ๊ฐ€์žฅ ๋‚œ์ด๋„๊ฐ€ ๋‚ฎ์€ ๋ฌธ์ œ์˜€๋Š”๋ฐ dateํ•จ์ˆ˜๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ๊ตฌํ˜„ํ•˜๋ คํ•˜๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์› ๋‹ค.
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ํ’€์—ˆ๋˜ 2016 ๋ฌธ์ œ์—์„œ + 98์ผ์„ ๋”ํ•˜๊ณ  + ๋‚ ์งœ ๋ฐฐ์—ด์˜ ์ˆ˜ ๋งŒํผ ๋นผ์„œ + ์›” / ์ผ์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ๋‹ค.
profile

Dev-Kyuu

@kyuu_ng

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