Programmers/Level 2 7

[Javascript] 프로그래머스 : 다음 큰 수

[Javascript] 프로그래머스 Level 2 _ 다음 큰 수 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) ✏️ 제출 코드 - solution 1 처음엔 간편하게 toString()으로 진법을 변환했다. 그리고 정규표현식으로 1의 개수를 파악한 뒤 반복하며 n보다 1씩 늘려가면서 2진법으로 변환 시 1의 개수가 같아질 때에 리턴하도록 구성했다! - solution 2 do-while문이 아닌 그냥 while문으로 수정하며 무한 반복문 -> 조건문을 넣는 것으로 수정했다. - solution 3 toString()이 아니라 직접 2진법으로 수정해주는 것으로 수정했다. - solution 4 다른 분들의 풀이를 보다가 filter()를 사용했길래 정규표현식 대신 filte..

Programmers/Level 2 2021.08.23

[Javascript] 프로그래머스 : 올바른 괄호

[Javascript] 프로그래머스 Level 2 _ 올바른 괄호 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) 1. 정확성 테스트는 통과되지만 효율성 테스트는 통과되지못하는 코드이다 ㅠㅠ function solution(s){ const x = s.length/2; if(s[0] == ")"){ return false; } else { for(let i = 0; i < x; i++){ s = s.split("()").join(''); } return (s == "")? true : false; } } function solution(s){ const x = s.length/2; const regExp = /\(\)|\(|\)/g; if(s[0] == ")"){ return..

Programmers/Level 2 2021.08.22

[Javascript] 프로그래머스 : 행렬의 곱셈

[Javascript] 프로그래머스 Level 2 _ 행렬의 곱셈 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서 든 생각들.) ✏️ 제출 코드 문제를 풀기 위해서는 행렬의 곱셈에 대해 알고 있어야 한다! 행렬의 곱셈은 곱하는 행렬 A의 열의 개수와 행렬 B의 행의 개수가 같은 경우에만 가능하다. 즉, (m*k) 행렬과 (k*n) 행렬을 곱했을 때 (m*n)의 행렬이 만들어지게 된다. 처음에는 m*n의 행렬을 미리 만들고 값을 대입하려고 했는데, 두 번의 반복되는 과정이 생기는 것 같아서 배열만 생성한 뒤, 반복문을 통해 n개의 요소를 가진 배열을 m번 생성한 뒤 push()해서 행렬을 만들었다! 다른 분들을 map()과 reduce()도 사용하셨던데 그것도 도전해봐야겠다...! ⚠️ 아..

Programmers/Level 2 2021.08.20

[Javascript] 프로그래머스 : 프린터

[Javascript] 프로그래머스 Level 2 _ 프린터 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서든 생각들.) ✏️ 제출 코드 큐 프린터를 구현하는 문제였다! 처음에는 최댓 값을 기준으로 두 덩이로 나눠서 다시 이어 붙이고를 반복해야하나? 생각해서 복잡했었다 ㅠㅠ 하지만 단순하게 해당 타겟이 몇번째로 빠져나가는지만 구하면 되기 때문에 ① 맨 앞의 요소가 max라면 shift()를 해준 뒤 빠져나간 순서를 카운트 해주고, ② 아니라면 shift()와 push()를 함께 사용해 다시 뒤에 이어 붙여주기를 반복하는 과정을 구현했다. 그리고 ① + 조건으로 배열의 남은 요소 중 해당 타겟이 max라면 카운트를 리턴하는 조건을 추가했다. ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 ..

Programmers/Level 2 2021.08.19

[Javascript] 프로그래머스 : 최솟값 만들기

[Javascript] 프로그래머스 Level 2 _ 최솟값 만들기 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서 든 생각들.) ✏️ 제출 코드 오늘은 양심적으로 쉬운 거 + 쉬운 거로 하나 더 풀었다 ㅎㅎㅎㅎㅎㅎㅎㅎ 문제는 두 배열의 요소들을 각각 곱했을 때 합이 최솟값이 되도록 만드는 문제였는데 큰 수 일수록 작은 수와 곱해져야 하기 때문에 A 배열의 작은 순서대로 정렬하고, B배열의 큰 순서대로 정렬해서 각각 곱했다 !!!! 역시 문제 풀이를 보니 비슷하게 같은 방법으로 푸신 분들이 많았다...! ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다. 참고해주시고 편안하게 봐주세요 :) ⚠️ *** 혹시라도 잘못된 정보가 있다면 언제든지 알려주시면 감사하겠습니다 ! ***

Programmers/Level 2 2021.08.18

[Javascript] 프로그래머스 : 최댓값과 최솟값

[Javascript] 프로그래머스 Level 2 _ 최댓값과 최솟값 👇🏻 Link_Click 👇🏻 시행착오 ( + 코드를 작성하면서 든 생각들.) ✏️ 제출 코드 오늘은 Level 2의 다른 문제들을 풀어보려고 하다가 ,,,, 동적 계획법에 좌절하고 제일 쉬워 보이는 걸 풀었다 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ 그래도 배열에서 Math.max(), Math.min()을 쓸 수 있게 해 준 잘 써보지 않았던 apply() 함수를 사용해 볼 수 있었다,,, 하하하 🥲 +) 배열에서 Math.max(), Math.min()을 사용하고 싶을 때, ES6 문법인 스프레드 연산자를 사용하면 apply()를 사용하지 않고도 사용할 수 있다! 참고로 코드에 추가했다! ⚠️ 아래 내용은 모두 개인적인 참고 / 기록을 위한 용도입니다...

Programmers/Level 2 2021.08.18