업데이트:

Math

[JS] 백준 1546번 평균

Date

코딩테스트 연습 - 2016년

function solution(a, b) {
    const date = new Date(`2016/${a}/${b}`);
    let answer = '';
    answer = date.toString().slice(0,3).toUpperCase();
    return answer;
}

RegExp

프로그래머스 - 신규 아이디 추천

코딩테스트 연습 - 신규 아이디 추천

내 풀이

function solution(new_id) {
  let answer, regexr;
  answer = new_id.toLowerCase();
  regexr = /[^\d\a-z\-\_\.]/g; 
  answer = answer.replace(regexr, "");
  regexr = /\.{2,}/g;
  answer = answer.replace(regexr, ".");
  regexr = /^\.|\.$/g;
  answer = answer.replace(regexr, "");

  if (answer === "") {
    answer = "a";
  }
  if (answer.length >= 16) {
    answer = answer.substr(0, 15);
    regexr = /\.$/g;
    answer = answer.replace(regexr, "");
  }
  //repeat
  if (answer.length <= 2) {
    while (answer.length < 3) {
      answer += answer[answer.length - 1];
    }
  }
  return answer;
}

모범 풀이

function solution(new_id) {
    const answer = new_id
        .toLowerCase() // 1
        .replace(/[^\w-_.]/g, '') // 2
        .replace(/\.+/g, '.') // 3
        .replace(/^\.|\.$/g, '') // 4
        .replace(/^$/, 'a') // 5
        .slice(0, 15).replace(/\.$/, ''); // 6
    const len = answer.length;
    return len > 2 ? answer : answer + answer.charAt(len - 1).repeat(3 - len);
}

백준 - FBI

2857번: FBI

const ERRORMSG = 'HE GOT AWAY!'
const fs = require('fs');
let input = fs.readFileSync('./input.txt').toString().split('\n');

const regExp = /FBI/g;
let answer = '';
answer = input.filter((item) => regExp.test(item))

for(let i=0; i<answer.length; i++){
  console.log(input.indexOf(answer[i])+1+' ')
}

if(answer.length === 0){
  console.log(ERRORMSG)
}

정규표현식 시각화 사이트

Online Regex tester and visualizer - Python, PHP, Ruby, JavaScript, Java

댓글남기기