항해 프로그래머스
-
항해3주차 자바스크립트 프로그래머스 - 가운데 글자 가져오기항해 프로그래머스 2023. 1. 27. 13:29
나의 풀이 문자열의 길이가 홀수일 때 2로 나누면 나눈 값은 소숫점이 될 것이다. 그러므로 나눈 값에 Math.floor()메서드를 사용해 반내림을 해주어야 한다. 반올림이 아닌 반내림을 하는 이유는 인덱스는 0부터 시작하기 때문이다. function solution(s) { var answer = ''; if (s.length % 2 == 0 ) { // 짝수일 경우, answer = s[s.length / 2 - 1] + s[s.length / 2]; } else { answer = s[Math.floor(s.length/2)]; // 홀수일 경우, 반내림 하기 } return answer; } //단어 길이가 홀수일때 가운데 1자리만 반환 //단어 길이가 짝수일때 가운데 2자리만 반환 //if 단어..
-
항해3주차 자바스크립트 프로그래머스 - 짝수와 홀수항해 프로그래머스 2023. 1. 27. 13:10
처음 풀이 function solution(num) { var answer = '';{ if num % 2 === 0 return Even else return Odd} return answer; } 수정 풀이 function solution(num) { if(num % 2 == 0) { return "Even" } else { return "Odd" } } 다른 풀이 리팩토링, 0은 false라는 것을 이용, 삼항연산자, == 0를 쓰시면 짝수냐는 조건문이고, 저 자체로는 (== 1 홀수냐)는 질문이 암시된 조건문 function evenOrOdd(num) { return num % 2 ? "Odd" : "Even"; } function evenOrOdd(num) { var result = 'Even'..
-
항해3주차 자바스크립트 프로그래머스 - 옷가게 할인받기항해 프로그래머스 2023. 1. 27. 11:52
나의 풀이 parseInt & Math.floor function solution(price) { if(price >= 500000) { price *= 0.8; } else if(price >= 300000) { price *= 0.9; } else if(price >= 100000) { price *= 0.95; } return Math.floor(price); } // if 10만원>= price*0.05//아니지 price*0.95 //else if 30만원>= price*0.1//아니지 price*0.9 //else if 50만원>= price*0.2//아니지 price*0.8 //return parseint(answer) 다른 풀이 function solution(price) { var ans..
-
항해3주차 자바스크립트 프로그래머스 - 문자 반복 출력하기항해 프로그래머스 2023. 1. 27. 10:59
나의 풀이 const solution = (my_string, n) => [...my_string].map(a => a.repeat(n)).join("") //각 문자를 split, 각문자*3, join return //split 대신 스프레드 문법 사용해보기 //for문 대신 map사용으로 배열 반복 처리 하기 //각문자열 *n은 repeat 사용 다른 풀이 function solution(my_string, n) { return my_string .split("") .map((x) => x.repeat(n)) .join(""); } Reduce function solution(my_string, n) { return my_string.split('').reduce((acc, cur) => acc + ..