LV1 - 수박수박수박수박수박수? 풀이 function solution(n) { let answer = ""; for (i = 0; i < n; i++) { if (i % 2 === 0) { answer = answer + "수"; } else { answer = answer + "박"; } } return answer; } 너무 어렵게 생각했던 듯 하다. answer= answer + "글자" 로 해주면 되는것을 너무 어렵게 생각했던 듯하다. 🍀 코딩 테스트/프로그래머스 2022.07.19
LV1 - 핸드폰 번호 가리기 1차풀이 function solution(phone_number) { const num= phone_number.substr(phone_number.length-4 ,4) let secret = "*".repeat(phone_number.length-4) return secret + num } 🍀 코딩 테스트/프로그래머스 2022.07.18
LV1 - 소수찾기 1차 풀이 => 실패 function solution(n) { let arr = Array.from({ length: n - 1 }, (v, i) => i + 2); let count = 2; for (i = 0; i < arr.length; i++) { if (arr[i] % 2 !== 0 && arr[i] % 3 !== 0) { count++; } } if (n === 2) { count = 1; return count } if (n === 3) { count = 2; return count } return count } 처음에는 2와 3으로 나누어떨어지는 경우에는 소수가 아니다라는 것으로 판단을 하려 했는데 반례들이 많아서 실패했다. 🍀 코딩 테스트/프로그래머스 2022.07.18
LV1 - 서울에서 김서방 찾기 풀이 function solution(seoul) { answer = `김서방은 ${seoul.indexOf("Kim")}에 있다`; return answer; } 그냥 가볍게 풀기 좋았다. indexOf() 메서드가 배열에서 찾으려는 항목의 index를 반환해준다는 것 만 기억하자 🍀 코딩 테스트/프로그래머스 2022.07.16
LV1 - 문자열 다루기 기본 1차풀이 => 실패 function solution(s) { if (s.length === 4 || 6) { if (isNaN(s) === false) { return true; } return false; } return false; } 2차풀이 => 실패 function solution(s) { if (s.length === 4 || 6) { if (isNaN(s) === false) { return true } else { return false } } else { return false } } => 지금 생각해보니 s.length === 4 || s.length ===6 이라고 썼어야 하는데... 바보 같다. 3차풀이 => 실패 function solution(s) { if (s.length ==.. 🍀 코딩 테스트/프로그래머스 2022.07.16
LV1 - 문자열 내림차순으로 배치하기 풀이 function solution(s) { const answer = s.split("").sort().reverse().join(""); return answer; } 내림차순으로 바꿔주도록 reverse()를 썼다. 🍀 코딩 테스트/프로그래머스 2022.07.15
LV1 - 문자열 내 p와 y의 개수 풀이 function solution(s){ let count = 0; var convertedString = s.toLowerCase(); for (i = 0; i < convertedString.length; i++) { if (convertedString[i] === "p") { ++count; } else if (convertedString[i] === "y") { --count; } } if (count === 0) { return true; } else { return false; } } 처음에 p,P,y,Y를 모두 다 다르게 판단을 해주어야하나 생각했었다. 이럴 때 하나로 통일을 해주는게 편하겠다고 생각해서 모두 소문자로 바꾸어준 후 판단을 하니까 편했다. 그리고 예전에 '올바른 괄호' 문제.. 🍀 코딩 테스트/프로그래머스 2022.07.15
LV1 - 문자열 내 마음대로 정렬하기 풀이 function solution(strings, n) { var answer = strings.sort((a, b) => a[n] === b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n]) ); return answer; } sort() , localeCompare() 관련 참고 블로그 https://daniel-park.tistory.com/14 [Javascript] sort() 함수의 함정 Array.sort() 프로그래머스 알고리즘을 풀던 중 한 가지 사실을 알게 되었다. const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); 다음 코드의 결과는 [1, 4, 21, 30,.. 🍀 코딩 테스트/프로그래머스 2022.07.13
LV1 - 두 정수 사이의 합 풀이 function solution(a, b) { var sum = 0; for (i = 0; i = a) { sum = sum + a + i; } else { sum = sum + b + i; } } return sum; } 절대값을 도와주는 메서드인 Math.abs()에 대해서 알게 되었다. 예시를 통해서 규칙을 찾아나가는 재미가 있었다. 모를 때는 하나하나 나열해보자. 🍀 코딩 테스트/프로그래머스 2022.07.13
LV1 - 나누어 떨어지는 숫자 배열 풀이 function solution(arr, divisor) { var answer = []; arr.every((num) => num % divisor !== 0) ? (answer = [-1]) : arr .sort((a, b) => a - b) .map((element) => { if (element % divisor === 0) { answer.push(element); } }); return answer; } 이번에 문제를 풀면서 array.every()를 처음 써보았는데 효율이 좋았다. 조건에서 divisor로 나누어 떨어지는 element가 하나도 없다면을 어떻게 처리해주어야할지 고민이었는데, every()함수를 사용하여 나머지가 모두 0이 아니라면 [-1]을 반환하도록 하였다. 그외의 경.. 🍀 코딩 테스트/프로그래머스 2022.07.12