programmers

programmers

[Programmers Level 2] 영어 끝말잇기 Javascript

⚡문제정보 끝말 잇기에서 패배하는 케이스는 두가지가 있습니다. 1. 이전에 등장한 단어를 말하는 경우 2. 끝말잇기가 되지 않는 단어를 말하는 경우 저 두가지 케이스에 몇번째 차례에서 몇번째 사람이 걸렸는지를 배열에 담아 리턴하고 배열의 끝까지 아무도 걸리지 않으면 [0,0]을 리턴하면 되는 문제입니다. 🔍접근방법 1. 이전에 등장한 단어를 체크해줘야한다. 2. 끝말잇기가 안되는 경우를 체크해줘야한다. 🔍나의 풀이 function solution(n, words) { let answer = [0,0] let map = new Map() map.set(words[0], 1) for(i=1 ; i

programmers

[Programmers Level 1] 크기가 작은 부분 문자열 Javascript

⚡문제정보 문자열 매개변수 두개가 주어지는데 모두 숫자로 이루어져있네요 t 문자열에서 p 문자열만큼 잘라서 작은 값이 있을 경우 +를 해주면 되는 문제인데 숫자의 대소관계는 앞자리 하나로도 정할 수 있으니까 서로 앞자리가 같은 경우에만 전체를 짤라서 비교해주면 될 것 같습니다. 🔍접근방법 t[i]의 첫자리가 p[0]과 같은 경우에만 slice()를 통해 문자열 전체를 비교한다. 🔍나의 풀이 function solution(t, p) { let answer = 0 for( i = 0 ; i < t.length -p.length +1 ; i++) { if(t[i] < p[0]) answer++ else if(t[i] == p[0]) { let spliter = t.slice(i,i + p.length) if..

programmers

[Programmers Level 2] 오픈채팅방 Javascript

⚡문제정보 너무 긴 문제입니다. 요약하자면 중요한 것만 보면 이렇습니다. 스페이스로 구분된 문자열이 담긴 배열이 주어집니다. Enter, Leave , Change로 구성되어있는데 만약 닉네임이 바뀌었다면 모든 내역이 바뀐 아이디로 표시되어야합니다. 닉네임은 Change를 하거나 나갔다가 새로 들어올때 닉네임을 수정한 경우 바뀝니다. 🙄제한사항 record는 다음과 같은 문자열이 담긴 배열이다 길이는 1 이상 100,000 이하이다. 다음은 record에 담긴 문자열에 대한 설명이다. 모든 유저는 [유저 아이디]로 구분한다. [유저 아이디] 사용자가 [닉네임]으로 채팅방에 입장 - "Enter [유저 아이디] [닉네임]" (ex. "Enter uid1234 Muzi")[유저 아이디] 사용자가 채팅방에서 ..

programmers

[Programmers Level 1] 성격 유형 검사하기 Javascript

⚡문제정보 문제가 너무 길어서 다 보여드리진 않겠습니다. 궁금하신 분들은 https://school.programmers.co.kr/learn/courses/30/lessons/118666?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아래링크 가서 직접 보세요.. 문제 요약하면 이렇습니다 MBTI 검사 만들건데 동점이면 사전순으로 리턴하고 아니면 더 큰 점수를 갖고있는 애로 리턴해라 뭔소린지 모르시겠다고요..? 감사합니다. 🔍접근방법 객체에다가 각각의 점수를 담아줄 수 있도록 할겁니다. 그리고 계산하면 끝 🔍나의 풀이..

programmers

[Programmers Level 0] 가장 가까운 같은 글자 Javascript

⚡문제정보 얼마전에 새로나온 문제네요 대충 요약해서 생각하면 처음 나온 글자 = -1 중복글자가 나오면 최근에 등장했던 글자와의 거리를 나타내주는 배열을 반환하면 되는 문제입니다. 저는 인덱스를 저장해줄 Map()과 정답을 반환할 array를 각각 선언해서 풀 수 있다고 생각했어요 🔍접근방법 1. 각 문자의 최근 인덱스를 알아야한다. 2. 최근 인덱스와 현재 인덱스를 비교할 수 있어야한다. 🔍나의 풀이 function solution(s) { let answer = [] let map = new Map() for(i=0 ; i

programmers

[Programmers Level 1 탐욕법] 체육복 Javascript

⚡문제정보 모든 학생들은 체육복을 가지고 있습니다. 근데 체육복을 도둑맞은 사람이 있고 여벌체육복이 한벌 더 있는 사람도 있어요 빌려주는 걸 통해서 가장 많은 학생이 체육복을 입을 수 있게 해주면 되는데 체육복은 앞뒤로만 빌려줄 수 있다고합니다. 또 여벌을 갖고있는 애도 도둑을 맞을 수 있어요 근데 딱 한벌만 훔쳐가는 거 보면 도둑도 최소한의 양심은 있네요 🙄입출력 예 🔍접근방법 여벌을 가지고 있는 녀석과 도둑 맞은 녀석들을 정리해주는게 중요하다고 생각했습니다. 앞뒤로만 빌려줄 수 있으니 체육복이 없는 녀석 근처에 체육복이 2벌인 녀석이 있으면 빌려줄수 있도록 코드를 짰습니다. 🔍나의 풀이 function solution(n, lost, reserve) { let arr = new Array(n).fil..

programmers

[Programmers Level 2] 귤 고르기 Javascript

⚡문제정보 레벨 2 치고는 꽤 쉬운 느낌이었습니다. 귤을 수확해서 박스에 담을 건데 한 박스에 담을 귤의 크기차이가 최대한 적었으면 좋겠다는 내용 Map에다가 각 사이즈를 담아주면 쉽게 풀 수 있을 것 같아서 간단히 구현했tmqslek. 🔍접근방법 귤을 크기별로 Map에 담아준다. Map을 value기준으로 정렬하고 slice()와 reduce()를 이용해서 답을 찾는다. 🔍나의 풀이 function solution(k, tangerine) { let map = new Map() let answer = 0 for(i=0; i b - a) for(i=1; i acc + cur) if(check>=k) return answer } return answer } 첫번째 풀이 근데 원소의 최대크기가 너무 방대하다..

programmers

[Programmers Level 0] 다항식 구하기 Javascript

⚡문제정보 이거 레벨 0 맞나 싶은.. 조금 어려웠습니다. 만약 덧셈만 있는게 아니었다면 더 까다로웠을듯 🔍접근방법 주어지는 매개변수가 이런식으로 주어지고 모든 연산은 더하기니까 우선 x와 정수만 남기고 스페이스, +기호는 다 없애주고자했습니다. 그런다음 x가 있으면 따로 세어주고 x가 없으면 따로 세어준 뒤 둘을 합치면 되지않을까..? 하는 발상으로 접근했습니다. 🔍나의 풀이 function solution(polynomial) { let x = 0 let answer = 0 let arr = polynomial.split(' ') .join('') .split('+') .forEach(ele => { let spliter = ele.split('x').join('') if(ele.includes('x..

냠냠맨
'programmers' 카테고리의 글 목록 (3 Page)