본문 바로가기

JavaScript51

[프로그래머스 Lv.1] 카드 뭉치 javascript 다른 블로그에서 참고한 코드... (어려웡....)function solution(cards1, cards2, goal) { for(const s of goal) { if(cards1[0] == s) { cards1.shift(); }else if(cards2[0] == s) { cards2.shift(); }else { return "No" } } return "Yes"} shift() 메서드를 이번에 또 새롭게 알게 됐다..! mdn 문서의 설명이다.shift() 메서드는 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다. 이 메서드는 배열의 길이를 변하게 합니다. .. 2024. 11. 21.
[프로그래머스 Lv.1] 추억 점수 javascript function solution(name, yearning, photo) { var answer = []; //name[i] = yearning[i] for (let group of photo) { let sum = 0; for (let person of group) { // 그룹 내 각 인물 이름을 순회 let index = name.indexOf(person); // 이름이 name에 있는지 확인 if (index !== -1) { sum += yearning[index]; // 있으면 대응되는 점수 더하기 } } answe.. 2024. 11. 19.
[프로그래머스 Lv.1] 명예의 전당(1) function solution(k, score) { let list = []; // 명예의 전당 리스트 let answer = []; for (let s of score) { list.push(s); // 현재 가수의 점수 추가 list.sort((a, b) => b - a); // 내림차순 정렬 if (list.length > k) { list.pop(); // k개 초과 시 가장 낮은 점수 제거 } answer.push(list[list.length - 1]); // 최하위 점수 저장 } return answer;} 2024. 11. 19.
[프로그래머스 Lv.1] 비밀지도 javascript function solution(n, arr1, arr2) { const answer = []; for (let i = 0; i  다시한번 짚고 넘어가는 toString()과 padStartnum.toString(2) : 배열이 아닌 정수에 toString 메서드를 쓰고 인수에 숫자를 넣으면 해당하는 진수법으로 변환해준다.padStart(str.length, "any") : 첫번째 인자는 인덱스가 아닌 문자열의 길이를 넣는다. 원하는 길이가 될때까지 채운다. 두번째 인자는 첫번째 인자의 길이가 될때까지 채우는 내용이다. 2024. 11. 14.
[프로그래머스 Lv.1] 푸드 파이트 대회 javascript function solution(food) { let answer = ''; // food 배열의 첫 번째 요소(food[0])는 무시하고, // 두 번째 요소부터 반복문을 돌리기 for (let i = 1; i 2024. 11. 14.
[프로그래머스 Lv.1] 콜라문제 javascript function solution(a, b, n) { let total = 0; while (n >= a) { // 받을 수 있는 콜라 수 (정수 나눗셈으로 계산) const newCola = Math.floor(n / a) * b; // 받은 콜라 수 총합 total += newCola; // 남은 콜라병 + 교환하고 남은 병 n = newCola + (n % a); } return total;} 2024. 11. 12.
[프로그래머스 Lv.1] k번째 수 function solution(array, commands) { let answer = []; for(var i=0; i(a - b)); answer.push(list[commands[i][2]-1]); } return answer;} 2024. 11. 8.
[프로그래머스 Lv.1] 문자열 내 마음대로 정렬하기 javascript function solution(strings, n) { return strings.sort((a, b) => { // n번째 글자가 다르면 n번째 글자를 기준으로 정렬 if (a[n] !== b[n]) { return a[n].localeCompare(b[n]); } // n번째 글자가 같으면 전체 문자열을 기준으로 정렬 return a.localeCompare(b); });} 이번문제에서도 localeCompare() 라는 메서드를 새로 알게 되었다.referenceStr가 compareString 전 혹은 뒤에 오는지 또는 동등한지를 나타내는 정수를 반환합니다.compareString 전에 reference.. 2024. 11. 6.
[프로그래머스 Lv.1] 가장 가까운 같은 숫자 javascript function solution(s) { var answer = []; let str = s.split(""); for (let i = 0; i  이번 문제를 풀면서 lastIndexOf()에 대해 공부했다. mdn 문서를 보면 해당 메서드는lastIndexOf(searchElement, fromIndex)Array 인스턴스의 lastIndexOf() 메서드는 배열에서 특정 요소를 찾을 수 있는 마지막 인덱스를 반환하거나, 해당 요소가 없으면 -1을 반환합니다. 배열은 fromIndex에서 시작하여 역방향으로 검색됩니다. 라고 되어있다. 두번째 인자의 사용이 좀 헷갈리는데 아래 제시한 예문을 보면const numbers = [2, 5, 9, 2];numbers.lastIndexOf.. 2024. 11. 5.
[프로그래머스 Lv.1] 숫자 문자열과 영단어 function solution(s) { let arr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] for(let i=0; i 2024. 11. 4.
[프로그래머스 Lv.1] 시저 암호/두개 뽑아서 더하기 javascript 시저암호function solution(s, n) { let upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; let lower = "abcdefghijklmnopqrstuvwxyz"; let answer= ''; for(let i =0; i = strArr.length) index -= strArr.length; answer += strArr[index]; } return answer;}두개 뽑아서 더하기function solution(numbers) { let answer = []; //경우의 수 만큼 배열 안의 두개의 숫자를 더해 answer에 넣기 for(let i=0; i a-b);} 2024. 11. 1.
[프로그래머스 Lv.1] 최소직사각형 function solution(sizes) { const width = []; const height = []; for(let i = 0; i 2024. 10. 31.