알고리즘 29

[JavaScript] Lv.1 체육복(해결중)

문제 요약 도둑 일부 학생 체육복 도난 여벌 있는 학생들이 빌려주려함 학생들의 번호는 체격 순 바로 앞번호나 뒷번호 학생에게(만) 빌려줄 수 있음. 적절히 빌려 최대한 많은 학생이 수업 들어야함 전체 학생수 n 체육복 도난당한 학생들의 번호배열 lost 여벌의 체육복을 가여온 학생들의 번호배열 reserve 수업 들을 수 있는 최댓값을 return 학생수 n은 2명이상 30명 이하 체육복 도난당한 학생의 수는 1명 이상 n명이하 중복 번호x 여벌 체육복이 있는 학생만 다른 학생에게 체육복을 빌려줄 수 있다. 여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있음. 이때 이 학생은 체육복을 하나만 도난당했다고 가정 그래서 다른 학생에게 빌려줄 수 없음. return은 n보다 작다 직접 짜본 코드 func..

알고리즘 2022.07.19

[JavaScript] Lv.1 가운데 글자 가져오기

function solution(s) { if(s.length % 2 === 0){ let a = s.length/2; answer = s.slice(a-1, a+1); } else{ let b = Math.floor(s.length/2); answer = s[b] } return answer; } slice를 이용하여 풀어봤음. 다른 사람 풀이를 알아보자 function solution(s) { return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1); } function solution(s) { const mid = Math.floor(s.length/2); return s.length %2 === 1 ? s[mid] : s[m..

알고리즘 2022.07.15

[JavaScript] Lv.1 로또의 최고 순위와 최저 순위(처음으로 혼자 품)

1~45번호 로또 6/45 1등 6개 일치 2등 5개 일치 ` ` ` 5등 2개 일치 6등 1~0개 일치(낙첨) 알아 볼 수 없는 번호가 배열 안에 0으로 표기 0에 따라 최고, 최저 순위 산출 아웃풋 answer = [최고순위, 최저순위] 아래는 직접 만들어본 코드 (for문으로 데이터 비교해서 속도 느린 것 감안, 푸는 것에 의의를 둠) function solution(lottos, win_nums) { let Bro = 0; let SameNumberIndex = 0; for(let i = 0 ; i !v).length; const maxCount = minCount + zeroCount; return [rank[maxCount], rank[minCount]]; } 다른 것도 둘러 봤지만, 이것만큼..

알고리즘 2022.07.09

[JavaScript] Lv.1 완주하지 못한 선수

문제 수많은 마라톤 선수들이 참가 단 한 명의 선수만 미완주 participant : 참여선수들의 이름이 담긴 배열 completion : 완주한 선수들의 이름 배열 완주하지 못한 선수의 이름을 return 문제를 풀려고 30분동안 고민을 했지만, 아직 내 머리로는 풀리지가 않았음. 그래서 아래 코드를 구글링으로 가져와서 그냥 풀어버리고 외워 버렸다. function solution(participant, completion) { participant.sort(); completion.sort(); for(let i in participant) { if(participant[i] !== completion[i]) return participant[i]; } } 초보자들이 문제를 풀때 위와 같은 코드를 많..

알고리즘 2022.06.27