전체 글
네이버 HTML_CSS 코칭스터디 (2)
들어가며 5주간의 코칭 스터디가 끝났다. 짧은 기간이었지만 기대했던 것보다 많은 걸 얻었고 결과물도 나름 만족스러웠다. 첫 미션과 마지막 미션에서 우수팀으로 선정됐는데, 시작부터 끝까지 잘해왔다는 뜻인 것 같아서 기분 좋게 마무리했다. 일정을 쪼개가며 진행하기에 시간이 빠듯한 편이긴 했지만 팀원의 도움도 많이 받고 다들 질문에 답도 잘해주셔서 별 탈 없이 해결할 수 있었다. 처음 지원할 때 포부나 얻고자 하는 게 무엇인지 쓰게 되는데 아마 프론트엔드 개발자가 되기 위해 기초를 잘 다져놓고 싶다고 썼던 것 같다. 당시 간단한 웹을 만드는 프로젝트를 막 끝냈을 시기인데 프로젝트를 진행하며 모르는 태그나 스타일을 많이 만나게 되었고, 그때마다 시간을 들여 해결해야 했다. 자바스크립트만 공부를 진행하기에 HTM..
[BEAKJOON / node.js] 1439 뒤집기
https://www.acmicpc.net/problem/1439 //test.txt 11001100110011000001 sol1 const input = require('fs').readFileSync('test.txt').toString().trim(); function solution(input) { if(input.includes(0) && input.includes(1)) { let toOne = input.split(0).filter(el => el!== '').length; let toZero = input.split(1).filter(el => el!== '').length; return toOne < toZero ? toOne : toZero; } else return 0 }; cons..
[BEAKJOON / node.js] 2775 부녀회장이 될테야
https://www.acmicpc.net/problem/2775 // test.txt 2 1 3 2 3 sol1 const [cases,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); for (let i = 0; i Array(n + 1).fill(0)); for (let i = 1; i
[JS] Set & Map
Set Set 객체는 중복되지 않는 유일한 값들의 집합이다. 배열과 유사하지만 다음과 같은 차이가 있다. 중복된 값을 포함할 수 없다. 요소 순서에 의미가 없다. 따라서 인덱스로 요소에 접근할 수 없다. Set 객체의 생성 let set = new Set(); console.log(set) //Set(0) {} 이터러블을 인수로 전달받아 Set 객체를 생성한다. Set은 중복된 값을 포함할 수 없으므로, 중복된 값은 무시된다. let set = new Set('Hello'); console.log(set) //Set(4){ 'H', 'e', 'l', 'o' } 요소 개수 확인 let set = new Set('Hello'); console.log(set.size)// 4 let set1 = new Set..
<programmers / JavaScript> 신고 결과 받기
https://programmers.co.kr/learn/courses/30/lessons/92334?language=javascript sol1 let id_list = ["muzi", "frodo", "apeach", "neo"]; let report = ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"] let k = 2 let userlist = id_list.reduce((result,currentID)=> { result[currentID] = [0,[]]; return result },{}); for(let x of new Set(report)) { let [REPORT_ID,ID] = x.split(' '); userlis..
[JS] 정규 표현식 RegExp
얼마 전까지만 해도 for문으로 문자열을 탐색, 교체했는데 정규표현식을 사용하니 써야 할 코드가 많이 줄어서 좋다. 기호들이 들어가다 보니 가독성은 별로긴 하지만, 여러모로 사용할 것 같으니 미리 정리해둔다. 정규 표현식 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어. 문자열을 대상으로 특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환할 수 있는 기능을 제공한다. 반복문과 조건문 없이 패턴을 정의하고 테스트할 수 있다. 주석이나 공백을 허용하지 않고 여러 가지 기호를 혼합하여 사용하기 때문에 가독성이 좋지 않다. 정규 표현식의 생성 슬래쉬( '/' ) 를 이용해 열고 닫고, 플래그를 이용해 검색 방식을 설정한다. let text = "Today is wednesday"; l..
5월 회고
들어가며 정신없이 지나간 5월이었다. 일과 중에 틈틈이 문제 풀고 퇴근 후 운동 집에 와서는 스터디 준비까지 나름 바쁘게 지나온 것 같다. 지난주엔 코로나인지 일주일간 감기가 심해서 정상적인 일과를 못 보낸 것도 월말을 바쁘게 하는데 한몫했다. 그래도 얼추 4월보다는 성장한 모습으로 회고를 작성하는 것 같아 기분은 좋다. 알고리즘 이제 문제를 제법 풀 줄 알게 되었다. 아직 많이 접해보지 못한 그리디, 스택, 큐 등등은 손도 못대는 경우도 많지만 구현이나 문자열은 재밌게 해결 중이다. 가끔 백준에서 내 답안을 누군가 열어봤다는 알림이 뜨면 나도 그 답안에 오랜만에 들어가 보곤 하는데, 과거의 내가 비효율적으로 혹은 정리를 더럽게 해 놓은 흔적들을 보며 답안을 다시 제출해보기도 했다. 그렇게 제출한 답안도..
<BEAKJOON / node.js> 1181 단어정렬
https://www.acmicpc.net/problem/1181 //test.txt 13 but i wont hesitate no more no more it cannot wait im yours sol1 let [n,...input] = require('fs').readFileSync('test.txt').toString().trim().split('\n'); let arr = input.sort((a,b) => a.length-b.length || a.localeCompare(b)).filter((el,i) => input.indexOf(el) === i); for(let i=0;i a.localeCompare(b, 'fr', {ignorePunctuation: true})); // ['Adieu'..