⚡문제정보 너무 긴 문제입니다. 요약하자면 중요한 것만 보면 이렇습니다. 스페이스로 구분된 문자열이 담긴 배열이 주어집니다. Enter, Leave , Change로 구성되어있는데 만약 닉네임이 바뀌었다면 모든 내역이 바뀐 아이디로 표시되어야합니다. 닉네임은 Change를 하거나 나갔다가 새로 들어올때 닉네임을 수정한 경우 바뀝니다. 🙄제한사항 record는 다음과 같은 문자열이 담긴 배열이다 길이는 1 이상 100,000 이하이다. 다음은 record에 담긴 문자열에 대한 설명이다. 모든 유저는 [유저 아이디]로 구분한다. [유저 아이디] 사용자가 [닉네임]으로 채팅방에 입장 - "Enter [유저 아이디] [닉네임]" (ex. "Enter uid1234 Muzi")[유저 아이디] 사용자가 채팅방에서 ..
배열을 한개의 값으로 채우기 let n = 5 let fillone = new Array(n).fill(1) ex : [1,1,1,1,1] 배열의 값을 1씩 증가시키기 let n = 5 let stairs = Array.from(new Array(n) , (x,i) => i + 1) ex : [1,2,3,4,5]
⚡객체지향프로그래밍(Object-Oriented Programming) 객체지향프로그래밍이란 개념 자체가 추상적이다보니 다들 객체지향프로그래밍이 뭐냐고 물어보면 저마다의 답변이 나오는 것 같습니다. 저는 다들 객체지향이라는 개념에서 가장 중요하게 생각하는 개념이 각각이어서 저마다의 답변이 나온다고 생각해요 잘 만든 만화들은 캐릭터 인기투표하면 항상 주인공이 1등하는게 아니라 골고루 표가 나오면서 엄청 적은 표차이로 순위가 오가듯이 그만큼 객체지향의 매력밸런스가 황금이라는 것 아닐까요? 틀린 비유라면 ㅈㅅ 그런데 어차피 다들 자기만의 답을 갖고 있는거라면 저도 나만의 답을 가져도 되지 않을까요? 라는 생각도 드네요 하지만 공통된 답변들은 수집할 수 있었으며 모던 자바스크립트 딥다이브의 내용을 참고해보자면 ..
⚡비트란? 정보를 저장하고 연산을 수행하기 위해 컴퓨터는 비트(bit)라는 측정 단위를 씁니다. 비트는 이진 숫자라는 뜻을 가진 “binary digit”의 줄임말이며, 0과 1, 두 가지 값만 가질 수 있는 측정 단위입니다. 디지털 데이터를 여러 비트들로 나타냄으로써 두 가지 값만을 가지고도 많은 양의 정보를 저장할 수 있습니다. 또한 컴퓨터는 저장되어 있는 데이터를 수정하기 위해 비트에 수학적 연산을 수행할 수 있습니다. https://www.edwith.org/cs50/lecture/22803?isDesc=false 이진숫자의 줄임말이니까 한글로 치환하면 이숫이겠네요 깔깔깔 ㅈㅅ 비트가 8개가 모이면 바이트가 됩니다. ⚡바이트란? 비트를 8개 모아놓은 비트열을 의미합니다. 하나의 바이트에는 비트가 ..
⚡문제정보 문제가 너무 길어서 다 보여드리진 않겠습니다. 궁금하신 분들은 https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아래링크 가서 직접 보세요.. 문제 요약하면 이렇습니다 MBTI 검사 만들건데 동점이면 사전순으로 리턴하고 아니면 더 큰 점수를 갖고있는 애로 리턴해라 뭔소린지 모르시겠다고요..? 감사합니다. 🔍접근방법 객체에다가 각각의 점수를 담아줄 수 있도록 할겁니다. 그리고 계산하면 끝 🔍나의 풀이..
⚡유사배열이란? 유사 배열 객체(array-like object)은 length 프로퍼티를 갖는 객체로 문자열, arguments, HTMLCollection, NodeList 등은 유사 배열이다. 유사 배열 객체는 length 프로퍼티가 있으므로 순회할 수 있으며 call, apply 함수를 사용하여 배열의 메소드를 사용할 수도 있다. https://poiemaweb.com/js-type-check 너무나도 명쾌한 설명이네요 length 프로퍼티가 있고 인덱스로 접근이 가능하지만 배열은 아닌 것 근데 문자열은 알겠는데 arguments는 뭐임? 🔍arguments function func1(a, b, c) { console.log(arguments[0]); // expected output: 1 con..
⚡자바스크립트의 프로미스 프로미스는 자바스크립트 비동기 처리에 사용되는 객체입니다. 객체이기 때문에 생성자 함수를 호출하여 인스턴스화 할 수 있습니다. 자바스크립트는 특정 코드의 실행이 완료될때까지 기다리지 않고 실행할 수 있는 다음 코드를 먼저 수행하는 특성을 갖고 있기때문에 생기는 문제들이 있습니다. 프로미스는 프로미스가 생성된 시점에는 알려지지 않았을 수도 있는 값을 위한 대리자로 비동기 연산이 종료된 이후 결과 값과 실패 사유를 처리하기 위한 처리기를 연결할 수 있읍니다. 그래서 프로미스를 사용하면 비동기 메서드에서 마치 동기 메서드처럼 값을 반환할 수 있어요 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백 함수를 사용한다. 하지만 전통적인 콜백 패턴은 콜백 헬로 인해 가독성이 나쁘고 비동..
⚡문제정보 생각나서 한번 재미로 풀어본 문제입니다. 이제... 프로그래머스에는 제가 풀 수 있는 문제가 없어서 리트코드로 공부한다음 프로그래머스 2레벨에 도전해보려구요 근데 이건 쉽게 풀 수 있음 당연함 easy임 🙄문제설명 영어 소문자,대문자로 구성된 문자열이 주어집니다. 그 문자열로 만들 수 있는 펠린드롬(앞뒤가똑같은문자)의 최대길이를 리턴하세요 🔍접근방법 회문이 되려면 짝수개의 같은 문자가 필요합니다. 하지만 회문의 정가운데 만큼은 1개의 문자도 존재할 수 있습니다. 따라서 map 자료구조를 이용해 각 문자의 등장횟수를 세어주고 map의 밸류값을 기반으로 짝수면 더해주고 홀수면 -1을 빼서 더해주면 될 것 같았습니다 만약 홀수면서 값이 1이라면 -1을 뺐을때 0이되니 아무일도 일어나지않고 그건 제가..