๊ธฐ๋Šฅ์š”๊ตฌ์‚ฌํ•ญ

๊ธฐ์กด ์ฝ”๋“œ ๋ถ„์„(์ฃผ์„ ์ถ”๊ฐ€)

function solution(telno) {
  // ์ „ํ™”๋ฒˆํ˜ธ ๋ณ€์ˆ˜์— ํ• ๋‹น
  const tel = telno;
  // ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ
  const failure = ["์ „๊ตญ", "X"];
  // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์ž๋ฆฌ
  const map = {
    "010": "ํœด๋Œ€ํฐ",
    "011": "ํœด๋Œ€ํฐ",
    "016": "ํœด๋Œ€ํฐ",
    "017": "ํœด๋Œ€ํฐ",
    "018": "ํœด๋Œ€ํฐ",
    "019": "ํœด๋Œ€ํฐ",
    "031": "๊ฒฝ๊ธฐ",
    "032": "์ธ์ฒœ",
    "033": "๊ฐ•์›",
    "041": "์ถฉ์ฒญ",
    "042": "๋Œ€์ „",
    "044": "์„ธ์ข…",
    "051": "๋ถ€์‚ฐ",
    "052": "์šธ์‚ฐ",
    "053": "๋Œ€๊ตฌ",
    "054": "๊ฒฝ๋ถ",
    "055": "๊ฒฝ๋‚จ",
    "061": "์ „๋‚จ",
    "062": "๊ด‘์ฃผ",
    "063": "์ „๋ถ",
    "064": "์ œ์ฃผ",
  };
 
  // ์ „ํ™”๋ฒˆํ˜ธ ์˜ค๋ฅ˜ 1.์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๊ฐ€ ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
  if (tel.length > 11 || tel.length < 9) return failure;
  // ์ „ํ™”๋ฒˆํ˜ธ ์˜ค๋ฅ˜ 2.์ „ํ™”๋ฒˆํ˜ธ์˜ ์ฒซ ์ž๋ฆฌ๊ฐ€ 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
  else if (tel[0] !== "0") return failure;
 
  // top => ์ „ํ™”๋ฒˆํ˜ธ ๊ฐ€์žฅ ์•ž 3์ž๋ฆฌ
  const top = tel.substring(0, 3);
  // ext => ์ „ํ™”๋ฒˆํ˜ธ ์•ž 3์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ฒˆํ˜ธ
  const ext = tel.substring(tel.length - 4);
 
  // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 2์ผ ๋•Œ => 02๊ฐ€ ์„œ์šธ์ด๋ฏ€๋กœ ์„œ์šธ์— ๋Œ€ํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ
  if (tel[1] === "2") {
    // ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ฒฝ์šฐ 02-xxxx-xxxx์˜ ์ „ํ™”๋ฒˆํ˜ธ์ด๋ฏ€๋กœ ์ด ๊ธ€์ž์ˆ˜๊ฐ€ 10๊ฐœ ์ด์ƒ์ด๋ฉด ์˜ค๋ฅ˜
    if (tel.length !== 10) return ["์„œ์šธ", "X"];
    // ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ์ง€๋งŒ ๊ฐ€์šด๋ฐ 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ๊ฐ™์„ ๋•Œ๋Š” ๋น„์ •์ƒ์ ์ธ ์ „ํ™”๋ฒˆํ˜ธ๋กœ ์ฒ˜๋ฆฌ
    if (ext[0] === ext[1] && ext[1] === ext[2] && ext[2] === ext[3])
      return ["์„œ์šธ", "X"];
    // ์ด ์™ธ์—๋Š” ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋งž์œผ๋ฏ€๋กœ O
    return ["์„œ์šธ", "O"];
  } else if (tel[1] === "1") {
    // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 1์ผ ๋•Œ => ํœด๋Œ€ํฐ์ผ ๊ฒฝ์šฐ๋ฐ–์— ์—†์Œ
    // ํ•ด๋‹นํ•˜๋Š” ์„ธ์ž๋ฆฌ ์ˆ˜๊ฐ€ map์—์„œ ์—†์„ ๋•Œ๋Š” ์˜ค๋ฅ˜ ๋ฐœ์ƒ
    if (!map[top]) return failure;
    // ํ•ด๋‹นํ•˜๋Š” ์„ธ์ž๋ฆฌ ์ˆ˜๊ฐ€ map์—๋Š” ์žˆ์ง€๋งŒ 010์€ ์•„๋‹ ๋•Œ => ํœด๋Œ€ํฐ์ด์ง€๋งŒ X
    if (tel[2] !== "0") return ["ํœด๋Œ€ํฐ", "X"];
    // 010-XXXX-XXXX์˜ ์ „ํ™”๋ฒˆํ˜ธ(11์ž๋ฆฌ)์ด๊ณ , ์ „ํ™”๋ฒˆํ˜ธ ๋’ท๋ถ€๋ถ„(8์ž๋ฆฌ)์˜ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ˆ˜๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ => ํœด๋Œ€ํฐ์ด๋ฉด์„œ O
    if (tel.length === 11 && parseInt(tel[3]) % 2 === 0) return ["ํœด๋Œ€ํฐ", "O"];
    //์ด์™ธ์˜ ๊ฒฝ์šฐ ํœด๋Œ€ํฐ์ด์ง€๋งŒ X
    return ["ํœด๋Œ€ํฐ", "X"];
  } else if (map[top]) {
    // 02, 01X ์ด์™ธ์˜ ๊ฒฝ์šฐ์— ์•ž ์„ธ์ž๋ฆฌ๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ์— ์žˆ์„ ๊ฒฝ์šฐ
    // 0XX-0XX-XXXX์˜ ๊ฒฝ์šฐ ๋งž๋Š” ์ง€์—ญ์„ ์ฐพ๊ณ  X์™€ ํ•จ๊ป˜ ๋ฆฌํ„ด
    if (tel.length === 10 && tel[3] === "0") return [map[top], "X"];
    // 0XX-0XXX-XXXX(์•ž ๋‘๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 3 ์ด์ƒ, 4๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 1 ์ด์ƒ)์˜ ๊ฒฝ์šฐ -> ์ง€์—ญ๋ช…๊ณผ ํ•จ๊ป˜ O ๋ฆฌํ„ด
    return [map[top], "O"];
  }
  // ๋‚˜๋จธ์ง€์˜ ์˜ˆ์™ธ ์ผ€์ด์Šค๋Š” ๋ชจ๋‘ ์‹คํŒจ์ฒ˜๋ฆฌ
  return failure;
}
 
console.log(solution("010-123-1234"));
console.log(solution("010-2234-1234"));
console.log(solution("02-1234-1234"));
console.log(solution("0212341111"));
console.log(solution("0311237890"));
console.log(solution("061-012-7890"));
console.log(solution("015-0157899"));
console.log(solution("042-2123-7890"));
 

์š”๊ตฌ์‚ฌํ•ญ ์—ญ๋ถ„์„ํ•˜๊ธฐ

๊ธฐ๋ณธ์ ์ธ ์ „ํ™”๋ฒˆํ˜ธ ์กฐ๊ฑด

  • ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๋Š” 9~11์ž
  • ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ฒซ ์ž๋ฆฌ๊ฐ€ 0์ด์–ด์•ผ ํ•จ

์„œ์šธ ์ง€์—ญ ์กฐ๊ฑด ํŒ๋‹จ

  • ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 2(02)
  • 10์ž๋ฆฌ(02-XXXX-XXXX)
  • ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ์ง€๋งŒ ๊ฐ€์šด๋ฐ 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ๊ฐ™์ง€ ์•Š์•„์•ผ ํ•จ

ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ํŒ๋‹จ ์กฐ๊ฑด

  • ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 1
  • ์„ธ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 0์ด ์•„๋‹ ๊ฒฝ์šฐ์—๋Š” ํœด๋Œ€ํฐ์ด์ง€๋งŒ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š์Œ
  • 010-XXXX-XXXX์˜ ์ „ํ™”๋ฒˆํ˜ธ(11์ž๋ฆฌ)์ด๊ณ , ์ „ํ™”๋ฒˆํ˜ธ ๋’ท๋ถ€๋ถ„(8์ž๋ฆฌ)์˜ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ˆ˜๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ ์กฐ๊ฑด์— ๋งž์Œ
  • ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ์—๋Š” ํœด๋Œ€ํฐ์ด์ง€๋งŒ ๋ชจ๋‘ ์กฐ๊ฑด์ด ๋งž์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ

๐Ÿšจ ์œ„ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š์€ ๊ฒฝ์šฐ๋Š” ๋ชจ๋‘ ์‹คํŒจ์ฒ˜๋ฆฌ ๐Ÿšจ

๋””๋ฒ„๊น…ํ•ด์„œ ๊ฐœ์„ ํ•˜๊ธฐ

- ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด๋„ ๋™์ž‘ํ•˜๋„๋ก ๋งŒ๋“ค๊ธฐ

const tel = telno.replaceAll("-", "");

๋งจ ์ฒ˜์Œ์— ๋ฒˆํ˜ธ๋ฅผ parameter๋กœ ๋ฐ›์€ ๋‹ค์Œ์— replaceAll ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ -๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐ

๊ฐœ์„ ํ•œ ์ดํ›„ ๋™์ž‘์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ž…์ถœ๋ ฅ ์กฐ๊ฑด ์ถ”๊ฐ€

// output : [ 'ํœด๋Œ€ํฐ', O ]
console.log(solution("010-------2234----1234"));
// output : [ '์„œ์šธ', O ]
console.log(solution("0-2-1-2-3--41-1-1-2"));

์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ ์ถ”๊ฐ€ํ•˜๊ธฐ

001๊ณผ 002๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฒˆํ˜ธ๋Š” ๊ตญ์ œ์ „ํ™”๋กœ ํŒ๋‹จํ•ด์„œ ์•ž3์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  8์ž๋ฆฌ~12์ž๋ฆฌ๊นŒ์ง€๋งŒ ํ—ˆ์šฉํ•˜๋Š” ๋กœ์ง ์ถ”๊ฐ€

// top๊ณผ ext ํ• ๋‹น์„ ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ ค ๊ตญ์ œ๋ฒˆํ˜ธ ํŒ๋‹จํ•˜๋Š”๋ฐ ํ™œ์šฉ
  // top => ์ „ํ™”๋ฒˆํ˜ธ ๊ฐ€์žฅ ์•ž 3์ž๋ฆฌ
  const top = tel.substring(0, 3);
  // ext => ์ „ํ™”๋ฒˆํ˜ธ ๋’ค 4์ž๋ฆฌ
  const ext = tel.substring(tel.length - 4);
  // rest => ์ง€์—ญ๋ฒˆํ˜ธ๋ฅผ ๋บ€ ๋‚˜๋จธ์ง€ ๋’ท๋ฒˆํ˜ธ
  const rest = tel.substring(3);
 
  if (top === "001" || top === "002") {
    if (rest.length > 12 || rest.length < 8) return failure.global;
    return ["๊ตญ์ œ์ „ํ™”", "O"];
  }

001๊ณผ 002๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฒˆํ˜ธ์˜ ๊ฒฝ์šฐ์—๋Š” ์ „ ์ฝ”๋“œ์—์„œ top ๋ณ€์ˆ˜๊ฐ€ ์•ž์˜ ์ง€์—ญ๋ฒˆํ˜ธ๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ ๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ top์ด ์žฌํ• ๋‹น๋˜๋Š” ์œ„์น˜๋ฅผ ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ฆฐ ๋‹ค์Œ top ๋ณ€์ˆ˜์— ์กฐ๊ฑด๋ฌธ์„ ๊ฑธ์–ด ํ†ต์ฑ„๋กœ 001๊ณผ 002๋ฅผ ๊ฒ€์‚ฌํ•˜์˜€๋‹ค.

๊ฒ€์‚ฌ์— ํ†ต๊ณผํ•˜์˜€์„ ๊ฒฝ์šฐ ๋” ๊ฒ€์‚ฌํ•ด์•ผ ํ•  ์กฐ๊ฑด์€ ์•ž3์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋’ท์ž๋ฆฌ์˜ ๊ธ€์ž์ˆ˜๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์— length ์กฐ๊ฑด๋งŒ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด ํ•ด๋‹น ์กฐ๊ฑด์„ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ์„ ๋•Œ, failure.global ์„ ๋ฆฌํ„ดํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

์—ฌ๊ธฐ์„œ global์€ ๊ธฐ์กด failure์„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด ์ง€์—ญ๋ฒˆํ˜ธ/๊ตญ์ œ์ „ํ™”/ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ๊ฒ€์‚ฌ ์‹คํŒจ๋ฅผ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ๋งŒ๋“ฆ์œผ๋กœ์จ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜์—ฌ ๋ฆฌํ„ดํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

๊ตฌํ˜„ํ•œ ์ดํ›„ ๋™์ž‘์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ž…์ถœ๋ ฅ ์กฐ๊ฑด ์ถ”๊ฐ€

console.log("๊ตญ์ œ์ „ํ™” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค");
// output: [ '๊ตญ์ œ์ „ํ™”', 'O' ]
console.log(solution("002-2234-1234"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'X' ]
console.log(solution("002-22344-12344121123"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'O' ]
console.log(solution("001-2234----12342"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'X' ]
console.log(solution("001-2234-122"));

์ „์ฒด ๋ฆฌํŒฉํ† ๋งํ•œ ํ›„ ์ฝ”๋“œ

function solution(telno) {
  // ์ „ํ™”๋ฒˆํ˜ธ ๋ณ€์ˆ˜์— ํ• ๋‹น
  const tel = telno.replaceAll("-", "");
  //์„ฑ๊ณตํ–ˆ์„ ๊ฒฝ์šฐ
  const success = {
    seoul: ["์„œ์šธ", "O"],
    global: ["๊ตญ์ œ์ „ํ™”", "O"],
    phone: ["ํœด๋Œ€ํฐ", "O"],
  };
  // ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ
  const failure = {
    domestic: ["์ „๊ตญ", "X"],
    seoul: ["์„œ์šธ", "X"],
    global: ["๊ตญ์ œ์ „ํ™”", "X"],
    phone: ["ํœด๋Œ€ํฐ", "X"],
  };
  // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์ž๋ฆฌ
  const map = {
    "010": "ํœด๋Œ€ํฐ",
    "011": "ํœด๋Œ€ํฐ",
    "016": "ํœด๋Œ€ํฐ",
    "017": "ํœด๋Œ€ํฐ",
    "018": "ํœด๋Œ€ํฐ",
    "019": "ํœด๋Œ€ํฐ",
    "031": "๊ฒฝ๊ธฐ",
    "032": "์ธ์ฒœ",
    "033": "๊ฐ•์›",
    "041": "์ถฉ์ฒญ",
    "042": "๋Œ€์ „",
    "044": "์„ธ์ข…",
    "051": "๋ถ€์‚ฐ",
    "052": "์šธ์‚ฐ",
    "053": "๋Œ€๊ตฌ",
    "054": "๊ฒฝ๋ถ",
    "055": "๊ฒฝ๋‚จ",
    "061": "์ „๋‚จ",
    "062": "๊ด‘์ฃผ",
    "063": "์ „๋ถ",
    "064": "์ œ์ฃผ",
  };
  // top๊ณผ ext ํ• ๋‹น์„ ์œ„๋กœ ๋Œ์–ด์˜ฌ๋ ค ๊ตญ์ œ๋ฒˆํ˜ธ ํŒ๋‹จํ•˜๋Š”๋ฐ ํ™œ์šฉ
  // top => ์ „ํ™”๋ฒˆํ˜ธ ๊ฐ€์žฅ ์•ž 3์ž๋ฆฌ
  const top = tel.substring(0, 3);
  // ext => ์ „ํ™”๋ฒˆํ˜ธ ๋’ค 4์ž๋ฆฌ
  const ext = tel.substring(tel.length - 4);
  // rest => ์ง€์—ญ๋ฒˆํ˜ธ๋ฅผ ๋บ€ ๋‚˜๋จธ์ง€ ๋’ท๋ฒˆํ˜ธ
  const rest = tel.substring(3);
 
  if (top === "001" || top === "002") {
    if (rest.length > 12 || rest.length < 8) return failure.global;
    return success.global;
  }
  // ์ „ํ™”๋ฒˆํ˜ธ ์˜ค๋ฅ˜ 1.์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ธธ์ด๊ฐ€ ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
  if (tel.length > 11 || tel.length < 9) return failure.domestic;
  // ์ „ํ™”๋ฒˆํ˜ธ ์˜ค๋ฅ˜ 2.์ „ํ™”๋ฒˆํ˜ธ์˜ ์ฒซ ์ž๋ฆฌ๊ฐ€ 0์œผ๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ
  else if (tel[0] !== "0") return failure.domestic;
 
  // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 2์ผ ๋•Œ => 02๊ฐ€ ์„œ์šธ์ด๋ฏ€๋กœ ์„œ์šธ์— ๋Œ€ํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ
  if (tel[1] === "2") {
    // ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ์˜ ๊ฒฝ์šฐ 02-xxxx-xxxx์˜ ์ „ํ™”๋ฒˆํ˜ธ์ด๋ฏ€๋กœ ์ด ๊ธ€์ž์ˆ˜๊ฐ€ 10๊ฐœ ์ด์ƒ์ด๋ฉด ์˜ค๋ฅ˜
    if (tel.length !== 10) return failure.seoul;
    // ์„œ์šธ ์ „ํ™”๋ฒˆํ˜ธ์ง€๋งŒ ๊ฐ€์šด๋ฐ 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ๊ฐ™์„ ๋•Œ๋Š” ๋น„์ •์ƒ์ ์ธ ์ „ํ™”๋ฒˆํ˜ธ๋กœ ์ฒ˜๋ฆฌ
    if (ext[0] === ext[1] && ext[1] === ext[2] && ext[2] === ext[3])
      return failure.seoul;
    return success.seoul;
  } else if (tel[1] === "1") {
    // ์ „ํ™”๋ฒˆํ˜ธ ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 1์ผ ๋•Œ => ํœด๋Œ€ํฐ์ผ ๊ฒฝ์šฐ๋ฐ–์— ์—†์Œ
    // ํ•ด๋‹นํ•˜๋Š” ์„ธ์ž๋ฆฌ ์ˆ˜๊ฐ€ map์—์„œ ์—†์„ ๋•Œ๋Š” ์˜ค๋ฅ˜ ๋ฐœ์ƒ
    if (!map[top]) return failure.domestic;
    // ํ•ด๋‹นํ•˜๋Š” ์„ธ์ž๋ฆฌ ์ˆ˜๊ฐ€ map์—๋Š” ์žˆ์ง€๋งŒ 010์€ ์•„๋‹ ๋•Œ => ํœด๋Œ€ํฐ์ด์ง€๋งŒ X
    if (tel[2] !== "0") return failure.phone;
    // 010-XXXX-XXXX์˜ ์ „ํ™”๋ฒˆํ˜ธ(11์ž๋ฆฌ)์ด๊ณ , ์ „ํ™”๋ฒˆํ˜ธ ๋’ท๋ถ€๋ถ„(8์ž๋ฆฌ)์˜ ๊ฐ€์žฅ ์ฒซ ๋ฒˆ์งธ ์ˆ˜๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ => ํœด๋Œ€ํฐ์ด๋ฉด์„œ O
    if (tel.length === 11 && parseInt(tel[3]) % 2 === 0) return success.phone;
    //์ด์™ธ์˜ ๊ฒฝ์šฐ ํœด๋Œ€ํฐ์ด์ง€๋งŒ X
    return failure.phone;
  } else if (map[top]) {
    // 02, 01X ์ด์™ธ์˜ ๊ฒฝ์šฐ์— ์•ž ์„ธ์ž๋ฆฌ๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ์— ์žˆ์„ ๊ฒฝ์šฐ
    // 0XX-0XX-XXXX์˜ ๊ฒฝ์šฐ ๋งž๋Š” ์ง€์—ญ์„ ์ฐพ๊ณ  X์™€ ํ•จ๊ป˜ ๋ฆฌํ„ด
    if (tel.length === 10 && tel[3] === "0") return [map[top], "X"];
    // 0XX-XXXX-XXXX(์•ž ๋‘๋ฒˆ์งธ ์ž๋ฆฌ๊ฐ€ 3 ์ด์ƒ)์˜ ๊ฒฝ์šฐ -> ์ง€์—ญ๋ช…๊ณผ ํ•จ๊ป˜ O ๋ฆฌํ„ด
    return [map[top], "O"];
  }
  // ๋‚˜๋จธ์ง€์˜ ์˜ˆ์™ธ ์ผ€์ด์Šค๋Š” ๋ชจ๋‘ ์‹คํŒจ์ฒ˜๋ฆฌ
  return failure.domestic;
}
 
console.log("๊ตญ์ œ์ „ํ™” ํ…Œ์ŠคํŠธ์ผ€์ด์Šค");
// output: [ '๊ตญ์ œ์ „ํ™”', 'O' ]
console.log(solution("002-2234-1234"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'X' ]
console.log(solution("002-22344-12344121123"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'O' ]
console.log(solution("001-2234----12342"));
// output: [ '๊ตญ์ œ์ „ํ™”', 'X' ]
console.log(solution("001-2234-122"));
 
console.log("- ํฌํ•จ ๋™์ž‘ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค");
// output: [ 'ํœด๋Œ€ํฐ', 'O' ]
console.log(solution("010-------2234----1234"));
// output: [ '์„œ์šธ', 'O' ]
console.log(solution("0-2-1-2-3--41-1-1-2"));
 
console.log("์ผ๋ฐ˜ ์ผ€์ด์Šค");
// output: [ 'ํœด๋Œ€ํฐ', 'X' ]
console.log(solution("010-123-1234"));
// output: [ 'ํœด๋Œ€ํฐ', 'O' ]
console.log(solution("010-2234-1234"));
// output: [ '์„œ์šธ', 'O' ]
console.log(solution("02-1234-1234"));
// output: [ '์ „๊ตญ', 'X' ]
console.log(solution("12-1234-1234"));
// output: [ '์„œ์šธ', 'X' ]
console.log(solution("0212341111"));
// output: [ '๊ฒฝ๊ธฐ', 'O' ]
console.log(solution("0311237890"));
// output: [ '์ „๋‚จ', 'X' ]
console.log(solution("061-012-7890"));
// output: [ '์ „๊ตญ', 'X' ]
console.log(solution("015-0157899"));
// output: [ '๋Œ€์ „', 'O' ]
console.log(solution("042-2123-7890"));