분류 전체보기 210

모음 제거 - 정규표현식

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. function solution(my_string) { let a = my_string.replaceAll('a',""); let e = a.replaceAll('e',""); let i = e.replaceAll('i',""); let o = i.replaceAll('o',""); let u = o.replaceAll('u',""); return u; } 한 글자씩 .replaceAll()을 통해 지우는 방법으로 어떻게든 풀었다 다른 사람들의 풀이를 보자 function solution(my_string..

문자 반복 출력 - .map(), .repeat()

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 나에 해석은 각 문자를 뽑아서 n번씩 배열에 넣고 그것을 풀자는 생각이었다 function solution(my_string, n) { var answer = []; // answer = '' for(let i = 0; i < my_string.length; i++ ){ for(let j = 0; j < n; j++){ answer.push(my_string[i]) // answer += my_string[i] } } return answer.join(''); // answer } 그 생각은 맞았고 일단 무사 통과는 했다 다만..

문자열 뒤집기 - 스프레드 문법, .reverse(), .join()

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 내가 처음에 한 생각은 문자열을 배열에다가 인덱스가 가장 큰 것부터 작은 것 순으로 추가해주고 배열을 풀면 되지 않을까라는 생각이었다 function solution(my_string) { var answer = []; for(let i=my_string.length-1; i >= 0 ; i--){ answer.push(my_string[i]) } return answer.join(""); // 배열을 구분자를 통해 구분하여 문자열로 변환 } 그래서 무사히 통과는 했다 function solution(my_string) { return my_string.sp..

자주 쓰이는 메소드

1. join() join() 메서드는 배열의 모든 요소를 연결해 하나의 문자열로 만든다. 원본 배열은 바꾸지 않음 배열 -> 문자열 2.split() string을 array로 만들어 주는 메서드. 원본 string은 변화시키지 않음 문자열 -> 배열 3. reverse() 순서가 뒤집힌 배열을 반환해주는 배열 메서드. 원본 배열을 변환한다. 배열 -> 배열 4. splice() vs. slice() splice() : 지정한 부분을 삭제 원본 배열을 바꾼다 slice() : 지정한 부분을 가져온다 원본 배열은 바뀌지 않음 배열 -> 배열 5. find() 배열의 각 요소마다 콜백 함수를 실행해서 조건을 충족(리턴값이 true)하는 첫 번째 요소 리턴 배열 -> 배열에서 조건을 만족하는 첫번째 값 6...

제곱 수 판별하기

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.( 1 ≤ n ≤ 1,000,000) function solution(n) { var answer = 0; var sqrt = Math.sqrt(n); if(Number.isInteger(sqrt)){ answer = 1 }else{ answer = 2 } return answer; } 제곱근 그러니까 루트(√ )를 씌워주는 Math.sqrt() 메소드를 활용하였다 그리고 Number.isInteger() 정수인지 판별해주는 메소드를 사용하여 if문으로 처리했는데 당연히 if문은 삼항연산자로 변환이 가능하고 지금의 경우엔 ..

옷가게 할인 받기(총 구매 가격에 따른 할인률 적용가)

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. function solution(price) { var answer = 0; if ( price > 500000 ){ answer = Math.floor(price*0.8) } else if ( price > 300000 ){ answer = Math.floor(price*0.9) } else if ( price > 100000 ){ answer = Math.floor(price*0.95) } else {answer = price } return answer; } 경우..

아이스 아메리카노(구매 가능 수와 잔돈 계산)

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. function solution(money) { var answer = []; var a = Math.floor(money/5500) var b = money - (5500*a) answer.push(a) answer.push(b) return answer; } 내가 짠 코드이다 나중에 다른 사람들의 풀이를 보고 알았지만 불필요한 변수 선언이나 메소드가 많았다 function solution(money) { ..

사분면 위치 구하기 (구조분해할당)

사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. 문제링크https://school.programmers.co.kr/learn/courses/30/lessons/120841 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(d..

2주차 숙제

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 처음엔 머리가 멍해졌다 n번째 요소만 뽑아서 정렬하는 것까지는 할 수 있겠는데 strings 배열 자체를 어떻게 바꾸지 하는 생각이었다 일단은 힌트를 봤다 기본적으로 사전식 정렬입니다. 문자열 배열같은 경우 sort로 정렬이 가능합니다. 그런데 인덱스에 해당하는 문자 순서로 정렬하고, 그 인덱스에 해당하는 문자가 같은 경우 사전식으로 정렬해주는 작업이 필요합니다. 물론 성능적인 측면에서 더 좋은 방법이 있지..