728x90
반응형

자바스크립트 16

[프로그래머스] 문자열 내 마음대로 정렬하기

안녕하세요. 민쯔입니다.😊 이번에는 "문자열 내 마음대로 정렬하기"문제를 풀어보았는데요. 제가 푼 방식이 너무 별로라서ㅋㅋ 다른 사람 풀이로 써져 있는 걸로 설명해보려고 해요. 이 문제는 조건에 맞게 정렬을 어떻게 하는지에 대한 문제인데 sort에 대해 이해가 있어야 풀 수 있는 문제인 것 같아요. 저처럼 sort에 대해 어중간하게 알면 돌고 돌아서 풀어야 돼요.😅 그래도 sort를 잘 사용한 예와 아닌예를 보여줘야 되니까 제가 푼 방법도 코드로 올리겠습니다. sort() 메서드를 잘 사용하지 못한 예 function solution(strings, n) { var answer = []; strings.sort(); let alpabes = strings.map(x =>x.charAt(n)).sort()..

[프로그래머스] 두 정수 사이의 합

안녕하세요. 민쯔입니다.😊 이번에는 "두 정수 사이의 합" 문제에 대해 풀어보았는데요. 이번 문제는 쉬운 편인데 어떻게 간결하게 푸는지에 대한 문제인 것 같아요. 이번 문제 해결방안은 두 가지에 대해 소개해볼까 해요. 그럼 해결방안에 대해 설명하겠습니다. 방법 1 function solution(a, b) { var answer = 0; if(a > b) [a, b] = [b, a]; // a>b일 경우 a는 b가 되고, b는 a가 됩니다. for(let i=a; i

[프로그래머스] 나누어 떨어지는 숫자 배열

안녕하세요. 민쯔입니다.😊 이번에는 나누어 떨어지는 숫자 배열 문제를 풀어보았습니다. 이 문제는 쉬운 편이고 바로 풀었습니다.👍 그럼 해결방안에 대해 설명하겠습니다. function solution(arr, divisor) { let answer = arr.filter(x => x % divisor == 0); return answer.length > 0 ? answer.sort((a, b) => a-b) : [-1]; } 문제에서 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 라고 했는데요. array의 각 e..

[프로그래머스] 같은 숫자는 싫어

안녕하세요. 민쯔입니다.😊 오랜만에 프로그래머스 연습문제 해결방안을 올리네요ㅠㅠ 이렇게 오랫동안 안 올릴 생각은 아니었는데....😥 [1차] 다트 게임이 몇주째 안 풀려서 결국 다른 문제를 풀게 됐어요.🤣 그래도 다른 문제라도 풀었으니까 같은 숫자는 싫어 해겳방안에 대해 설명하겠습니다. 이번 문제는 어떻게 보면 쉽긴 한데 묘하게 머리 쓰게 만드는 문제인 것 같아요. 이문제가 단순하게 중복을 제거하는 문제가 아니라 연속적인 부분만 제거하는 문제라 조금 까다롭더라구요. arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1]을 return arr = [4, 4, 4, 3, 3] 이면 [4, 3]을 return function solution(arr) { var answer = []; f..

[프로그래머스] 가운데 글자 가져오기

안녕하세요. 민쯔입니다.😊 이번에는 "가운데 글자 가져오기"를 풀어보았습니다. 이번 문제는 쉬운 편에 속해서 빨리 풀었던 것 같아요. 쉬운 대신 어떻게 더 효율적으로 푸는지에 대한 문제인 것 같아요. 이번 해결방안에서는 제가 풀었던 방식과 프로그래머스에서 다른 사람 풀이에 대해 총 2가지에 대해 설명해 보겠습니다. function solution(s) { // 버전 1 return s.length % 2 === 0 ? s.substr(s.length / 2 - 1, 2) : s.substr(parseInt(s.length / 2), 1); // 버전 2 return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1); } 둘 다 삼항연산자..

[프로그래머스] 비밀지도

안녕하세요. 민쯔입니다.😊 정말 오랜만이죠??? 제가 과제와 시험공부하다 보니까 3주가 지나 있더라고요ㅠㅠ 이제 다시 프로그래머스 열심히 풀어야겠어요!! 이번에는 비밀지도에 대해 풀어봤는데, 뭔가 제가 쓴 코드가 허튼짓 하는 느낌이 들지만 그래도 해결방안에 대해 설명해보겠습니다. function solution(n, arr1, arr2) { var answer = []; let arr1Bs = []; let arr2Bs = []; // arr1, arr2의 숫자를 2진법으로 만들고 #,공백으로 교체하기 for(let i=0; i

[프로그래머스] 나머지가 1이 되는 수 찾기

안녕하세요. 민쯔입니다.😊 이번에는 "나머지가 1이 되는 수 찾기" 문제를 풀어보았는데요. 이번 문제는 해결방안을 설명하기도 부끄러울 정도로 쉬운 문제라...ㅋㅋ 해결방안 쓰기도 머쓱하네요. 그럼 "나머지가 1이 되는 수 찾기"해결방안에 대해 설명해보겠습니다. function solution(n) { for(let i=0; i "n % x === 1" "가장 작은 자연수 x를 return" -> "나머지가 1이 되는 자연수를 다 구할 필요가 없다." 이제 여기서 나온 두 문장을 활용하여 코드를 작성해보겠습니다. 이번에도 역시 for문을 사용해서 풀었는데 나머지 값이 1이 나오려면 자연수 n 보다 큰 수를 나눌 필요가 없고, n보다 작은 수로 나누어야 나머지 값이 1이상의 숫자가 나오겠죠? 그래서 for문..

[프로그래머스] 최소직사각형

안녕하세요. 민쯔입니다.😊 프로그래머스 코딩 테스트 연습에서 Level 1이 3페이지가 있는데 드디어 첫 번째 페이지는 끝냈고 두 번째 페이지를 풀게 되었습니다.~~ 예이~~~!!🤩 본론으로 돌아와서 이번에는 최소직사각형을 구했는데요. 이번 문제는 쉬운편에 속하는 것 같고, 어떻게 더 간단하게 쓰는지에 따라 다른 것 같다는 생각이 들었어요. 그럼 최소직사각형 해결방안에 대해 설명해보겠습니다. function solution(sizes) { // 명함이 가로>세로 되도록 정렬하기 sizes.map(s => s.sort((a, b) => b - a)); // 가로, 세로 최댓값 구하기 let maxW = Math.max.apply(null, sizes.map(s => s[0])); let maxH = Mat..

[자바스크립트] 오름차순, 내림차순 구하기

안녕하세요. 민쯔입니다.😊 프로그래머스를 풀다 보니 오름차순, 내림차순을 만들일이 많아지더라고요. 그래서 이번에 자바스크립트로 오름차순 내림차순을 만드는 방법에 대해 설명하겠습니다. 오름차순, 내림차순을 만들기 위해서는 sort()라는 메소드를 사용해야 되는데요. sort() : 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. Array.sort() 오름차순 // 오름차순 const arr = [3, 4, 9, 2, 7]; let asc = arr.sort((a,b) => a - b); console.log(`오름차순 : ${asc}`); //오름차순 : 9,7,4,3,2 오름차순은 sort()만 써도 오름차순이 되긴 하는데 프로그래머스에서는 sort()만 쓰면 제출 후 채첨하기에서 무조건..

코딩/JavaScript 2021.11.09
728x90
반응형