문제

μ–΄λŠ λ‚  μ‹œκ³„λ₯Ό λ³Έ κ²½κ·Όμ΄λŠ” μ‹œκ°„μ΄ 8μ‹œ 14뢄인 것을 보고 λ†€λžλ‹€. μ™œλƒν•˜λ©΄ 그의 생일은 8μ›” 14일이기 λ•Œλ¬Έμ΄λ‹€. 그리고 이 κ²½ν—˜μ„ λ°”νƒ•μœΌλ‘œ λ‹€μŒκ³Ό 같은 문제λ₯Ό λ§Œλ“€μ—ˆλ‹€:

두 μ •μˆ˜ x, yκ°€ μ£Όμ–΄μ§ˆ λ•Œ, xμ‹œ yλΆ„μœΌλ‘œ μ½λŠ” 것이 κ°€λŠ₯ν•œμ§€μ˜ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜λ©΄μ„œ, xμ›” y일둜 μ½λŠ” 것이 κ°€λŠ₯ν•œμ§€μ˜ μ—¬λΆ€λ₯Ό νŒλ‹¨ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ.

μ‹œλŠ” 0μ‹œμ—μ„œ 23μ‹œκΉŒμ§€, 뢄은 0λΆ„μ—μ„œ 59λΆ„κΉŒμ§€κ°€ μœ νš¨ν•˜λ©°, 월은 1μ›”μ—μ„œ 12μ›”κΉŒμ§€κ°€ μœ νš¨ν•˜λ‹€. 1μ›”, 3μ›”, 5μ›”, 7μ›”, 8μ›”, 10μ›”, 12월은 1μΌμ—μ„œ 31μΌκΉŒμ§€κ°€ μœ νš¨ν•˜κ³ , 4μ›”, 6μ›”, 9μ›”, 11월은 1μΌμ—μ„œ 30μΌκΉŒμ§€κ°€ μœ νš¨ν•˜λ©°, 2월은 1μΌμ—μ„œ 29μΌκΉŒμ§€κ°€ μœ νš¨ν•˜λ‹€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

ν•΄κ²°

const fs = require('fs');

const { start } = require('repl');
const stdin = (process.platform === 'linux'
    ? fs.readFileSync('/dev/stdin').toString()
    : `3
8 14
0 29
0 0` 
).match(/[^\r\n]+/g);

const input = (() => {
let line = 0;
  return () => stdin[line++];
})();

const s = Number(input())
const days = [31,29,31,30,31,30,31,31,30,31,30,31]
let answer = []

while (true){
  const v = input()
  if (!v) break;
  const [hr, min] = v.split(' ').map(Number)
  
  if ( hr >= 0 && hr <= 23 && min >= 0 && min <= 59){
    if ( hr >= 1 && hr <= 12 && min >= 1 && min <= days[hr-1]){
      answer.push(`Yes Yes`)
    } else {
      answer.push(`Yes No`)
    }
  } else {
    if ( hr >= 1 && hr <= 12 && min >= 1 && min <= days[hr-1]){
      answer.push(`No Yes`)
    } else {
    answer.push(`No No`)
    }
  }
}

console.log(answer.join('\n'))

1. λ¬Έμžμ—΄(λ¦¬ν„°λŸ΄) νƒ€μž…

const userName1 = "Bob"    // λ³€κ²½λ˜μ§€ μ•ŠλŠ” λ³€μˆ˜ μ„ μ–Έ
let userName2: string | number = "Tom"  // 이후 λ³€μˆ˜λ₯Ό λ³€κ²½

 

 

2. μœ λ‹ˆμ˜¨ νƒ€μž… : μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ OR μ—°μ‚°μž || 

interface Car {
  name: "car";
  color: string;
  start(): void;
}

interface Mobile {
  name: "mobile";
  color: string;
  call(): void;
}

// 식별가λŠ₯ν•œ μœ λ‹ˆμ˜¨ νƒ€μž…
function getGift(gift: Car | Mobile) {
  if (gift.name === "car"){
    gift.start()
  } else {
    gift.call()
  }
}

 

 

3. κ΅μ°¨νŒŒμž… : μ—¬λŸ¬νƒ€μž…μ„ ν•©μ³μ„œ μ‚¬μš©

interface Car {
  name: string;
  start(): void;
}

interface Toy {
  name: string;
  color: string;
  price: number;
}

const toyCar: Toy & Car = {
  name: "νƒ€μš”",
  start(){},
  color: "blue",
  price: 1000
}

문제

1μ—μ„œλΆ€ν„° 6κΉŒμ§€μ˜ λˆˆμ„ 가진 4개의 μ£Όμ‚¬μœ„λ₯Ό λ˜μ Έμ„œ λ‹€μŒκ³Ό 같은 κ·œμΉ™μ— 따라 μƒκΈˆμ„ λ°›λŠ” κ²Œμž„μ΄ μžˆλ‹€.

  1. 같은 눈이 4κ°œκ°€ λ‚˜μ˜€λ©΄ 50,000원+(같은 눈)×5,000μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€. 
  2. 같은 눈이 3개만 λ‚˜μ˜€λ©΄ 10,000원+(3κ°œκ°€ λ‚˜μ˜¨ 눈)×1,000μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€. 
  3. 같은 눈이 2κ°œμ”© 두 쌍이 λ‚˜μ˜€λŠ” κ²½μš°μ—λŠ” 2,000원+(2κ°œκ°€ λ‚˜μ˜¨ 눈)×500원+(또 λ‹€λ₯Έ 2κ°œκ°€ λ‚˜μ˜¨ 눈)×500μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€.
  4. 같은 눈이 2개만 λ‚˜μ˜€λŠ” κ²½μš°μ—λŠ” 1,000원+(같은 눈)×100μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€. 
  5. λͺ¨λ‘ λ‹€λ₯Έ 눈이 λ‚˜μ˜€λŠ” κ²½μš°μ—λŠ” (κ·Έ 쀑 κ°€μž₯ 큰 눈)×100μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€.  

예λ₯Ό λ“€μ–΄, 4개의 눈이 3, 3, 3, 3으둜 주어지면 50,000+3×5,000으둜 κ³„μ‚°λ˜μ–΄ 65,000μ›μ˜ μƒκΈˆμ„ λ°›κ²Œ λœλ‹€. 4개의 눈이 3, 3, 6, 3으둜 주어지면 μƒκΈˆμ€ 10,000+3×1,000으둜 κ³„μ‚°λ˜μ–΄ 13,000원을 λ°›κ²Œ λœλ‹€. 또 4개의 눈이 2, 2, 6, 6으둜 주어지면 2,000+2×500+6×500으둜 κ³„μ‚°λ˜μ–΄ 6,000원을 λ°›κ²Œ λœλ‹€. 4개의 눈이 6, 2, 1, 6으둜 주어지면 1,000+6×100으둜 κ³„μ‚°λ˜μ–΄ 1,600원을 λ°›κ²Œ λœλ‹€. 4개의 눈이 6, 2, 1, 5둜 주어지면 κ·Έ 쀑 κ°€μž₯ 큰 값이 6μ΄λ―€λ‘œ 6×100으둜 κ³„μ‚°λ˜μ–΄ 600원을 μƒκΈˆμœΌλ‘œ λ°›κ²Œ λœλ‹€.

N(1 ≤ N ≤ 1,000)λͺ…이 μ£Όμ‚¬μœ„ κ²Œμž„μ— μ°Έμ—¬ν•˜μ˜€μ„ λ•Œ, κ°€μž₯ λ§Žμ€ μƒκΈˆμ„ 받은 μ‚¬λžŒμ˜ μƒκΈˆμ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

ν•΄κ²°

const fs = require('fs');
const { start } = require('repl');
const stdin = (process.platform === 'linux'
    ? fs.readFileSync('/dev/stdin').toString()
    : `1
3 2 3 2` 
).match(/[^\r\n]+/g);

const input = (() => {
let line = 0;
  return () => stdin[line++];
})();


const s = Number(input())

let i = 0
let sum = 0;

while (i < s) {
  const num = input().split(' ').map(Number).sort((a,b) => a-b)

  num.map((e) => {
    const cnt = num.filter((item) =>  e == item)

    if (cnt.length == 4){
      sum = 50000 + (cnt[0]*5000) > sum ? 50000 + (cnt[0]*5000): sum
    } else if (cnt.length == 3){
      sum = 10000 + (cnt[0]*1000) > sum ? 10000 + (cnt[0]*1000): sum
    } else if (cnt.length == 2){
      if (num[0] == num[1] && num[2] == num[3]){
        sum = 2000 + (num[0]*500) + (num[2]*500) > sum ? 2000 + (num[0]*500) + (num[2]*500) : sum
      } else {
        sum = 1000 + (cnt[0]*100) > sum ? 1000 + (cnt[0]*100) : sum
      }
    } else if (cnt.length == 1){
      const big = Math.max(...num)
      sum = (big*100) > sum ? (big*100): sum 
    }
  })

  i++;
}

console.log(sum)

+ Recent posts