JavaScript 37

[JavaScript] 프로그래머스 순서쌍의 개수

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이처음 풀이는 다음과 같이 제곱해서 n이 나오는 숫자(mid)를 찾은 후, 1부터 해당 숫자 전 까지만 반복문을 돌며 (i, j)을 직접 찾아보는 방식으로 접근했다.function solution(n) { let cnt = 0; const mid = Math.sqrt(n); for(let i = 1; i 하지만 작성하고 보니 j를 굳이 1부터 n까지 탐색할 필요가 없다는 것을 깨달았다.어차피 i가 n의 약수라면 j는 자동으로 정해질 것이기 때문이다.따라서 아래와 같이 반복문을 돌며 i가 n의 약수인 것의 개수..

[JavaScript] 프로그래머스 배열의 유사도 (filter, includes 메서드)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이난 단순하게 중첩 반복문을 사용해서 구현했다.function solution(s1, s2) { let cnt = 0; for(let i = 0; i s1인덱스 하나당 s2 인덱스 전체를 반복하며 탐색해서 같은 문자열이 몇 개나 있는지 확인하는 방식이다. 3. 다른 사람 풀이function solution(s1, s2) { const intersec = s1.filter((x) => s2.includes(x)); return intersec.length;} 먼저, filter 메서드는 배열을 순회하면서 조건이..

[JavaScript] 프로그래머스 점의 위치 구하기

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 처음 풀이처음엔 정말 단순히 조건문을 확인하여 dot의 0번 인덱스에 있는 x 좌표 값과 1번 인덱스에 있는 y 좌표 값을 양수인지 음수인지에 따라 사분면을 결정하게 해주었었다.function solution(dot) { if(dot[0] > 0){ if(dot[1] > 0){ return 1; } else{ return 4; } } else{ if(dot[1] > 0){ return 2; } ..

[JavaScript] 프로그래머스 배열 자르기 (slice 메서드)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이function solution(numbers, num1, num2) { const answer = numbers.slice(num1, num2 + 1); return answer;} slice를 이용하여 num1 인덱스부터 num2 인덱스까지 잘라서 answer에 할당해주었다. cf) slice 메서드slice를 사용하는 기본 형태는 아래와 같다.array.slice(start, end); 단, 주의해야 하는 게 start 인덱스는 포함해서 자르지만, end 인덱스는 포함하지 않고 자른다는 점이다.따라서 위 문제에서는 num2..

[JavaScript] 프로그래머스 삼각형의 완성조건 (1)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이이 문제는 문제 설명에 삼각형을 만들 수 있는 조건을 설명해줘서 고민할 거 없이 바로 풀 수 있었다.function solution(sides) { const length = sides.sort((a, b) => b - a); if(length[0] 이것도 먼저, 지난 문제에서 봤던 것처럼 sides 배열을 내림차순으로 정렬하여 가장 큰 숫자가 앞으로 오게 해주었다.이후에 가장 큰 값인 0번째 인덱스의 값이 나머지 두 값의 합보다 작다면 1을, 아니면 2를 return하게 해줌으로써 해결했다. cf) (a, b) => ..

[JavaScript] 프로그래머스 피자 나눠 먹기 (1) (자바스크립트의 나누기)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이인원이 피자 한 판당 나오는 피자 조각의 개수인 7의 배수라면, 인원 / 7만큼만 피자가 있으면 되지만, 인원이 7의 배수가 아니라면 몫보다 한 판이 더 필요한 것이므로 +1을 해주면 된다.function solution(n) { if(n % 7 === 0){ return Math.floor(n / 7); } else { return Math.floor(n / 7) + 1; }} 한동안 파이썬으로 코테 준비를 했더니 아무 생각 없이 몫만 구하는 나머지 연산을 할 때 // 을 써놓고서는 왜 자..

[JavaScript] 프로그래머스 뒤집힌 문자열 (문자열을 뒤집는 2가지 방법)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이 1) 문자열을 배열로 변환해서 reverse 함수 사용하기지난 글에서 본 reverse 함수는 배열에 대해서만 적용할 수 있기 때문에 문자열을 배열로 변환한 후에 적용해주어야 한다. [JavaScript] 프로그래머스 배열 뒤집기 (배열을 뒤집는 세 가지 방법)프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡 문제정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소kssossok.tistory.com funct..

[JavaScript] 프로그래머스 배열 뒤집기 (배열을 뒤집는 세 가지 방법)

1. 문제 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 💡 문제정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 2. 풀이 1) reverse 함수 사용해서 뒤집기array.reverse()는 이 함수를 호출한 배열을 거꾸로 뒤집고, 그 호출한 배열이 가리키는 참조 값을 반환해준다.즉, 이 함수를 사용하면 원본 배열이 함께 변형되는 것이다.function solution(num_list) { const answer = num_list.reverse(); return an..

[JavaScript] 스프레드 연산자

1. 스프레드 연산자 (Spread Operator)스프레드 연산자는 말 그대로 펼친다(spread)는 의미를 가진 문법이다.자바스크립트에서 배열이나 객체, 문자열과 같이 순회할 수 있는 값에 대해 전개하여 표현할 때 사용하게 된다. 구조 분해 할당의 ... 과 비슷해 보일 수도 있는데, 방향은 정 반대이다.구조 분해 할당에서는 하나의 구조를 분해해서 꺼내는 것이었다면, 스프레드 연산자는 구조 안의 값을 펼쳐서 다른 구조에 넣는 것이다.즉, 구조 분해가 해체 하는 작업이라면, 스프레드는 복사 붙여넣기에 가깝다. 1.1. 배열에서의 스프레드 연산자1) 기본 구조스프레드 연산자가 가장 직관적으로 사용되는 곳은 배열이다.const arr1 = [1, 2, 3];const arr2 = [...arr1]; 이 ..

[JavaScript] 웹에서 바로 코드 테스트 가능한 사이트

글을 작성하면서 매번 콘솔로만 찍어서 보여주기도 애매했고, 그렇다고 매번 PC에서 하긴 귀찮았는데, 웹에서 코드 입력 시 바로 보여주는 사이트를 찾았다 !! JS BinSample of the bin:jsbin.com 아래는 내가 예시로 작성해 본 건데 한 줄 칠 때마다 실시간으로 우측에서 반영돼서 넘 편하당 !! alert도 잘 뜬당 !! 글에 첨부할 사진과 같이 간단한 코드를 작성할 때에는 꽤나 유용하게 쓰일 것 같다 ㅎㅎ q(≧▽≦q)