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..

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

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

[프로그래머스] 2016년

안녕하세요. 민쯔입니다.😊 프로그래머스 문제를 일주일에 하나씩 풀다 보니까 진도가 못 나가는 기분이 들어서 이제는 틈만 나면 풀려고요!!😤 이번에는 2016년 문제를 풀었는데요. 이번 문제는 단순하게 생각하면 정말 쉬운 문제인 것 같아서 그래서 저도 빠르게 푼 것 같아요. 그럼 해결방안에 대해 설명하겠습니다~ function solution(a, b) { let mDArr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; let dW = ['FRI','SAT', 'SUN', 'MON','TUE','WED','THU']; let sum = 0; for(let i=0; i 토 일 월 화 이렇게 최종적으로 화요일 됩니다. 이걸 코드로 작성하면 1월 ~ 12월 일 수를..

[프로그래머스] 3진법 뒤집기

안녕하세요. 민쯔입니다.😊 이번에는 3진법 뒤집기를 풀어봤습니다. 이 문제는 어려운 건 아닌데 검색하면 금방 풀 수 있어서 쉽게 풀 수 있었던 것 같아요. 그럼 해결 방안에 대해 설명하겠습니다.~ ㄱㄱ function solution(n) { return parseInt(n.toString(3).split('').reverse().join(''), 3); } 이렇게 보니까 정말 간단해 보이지만, 이해가 안 될 수 있으니 이걸 풀어쓰면 function solution(n) { // 10진법을 3진법으로 let ternary = n.toString(3).split(''); // 3진법을 역순으로 let reverse = ternary.reverse().join(''); // 역순 3진법을 10진법으로 ret..

[프로그래머스] 소수 만들기

안녕하세요. 민쯔입니다.😊 이번 주에는 소수 만들기 문제를 풀어봤습니다. 소수 만들기 문제는 두 개 뽑아서 더하기 문제랑 비슷해서 두 개 뽑아서 더하기 문제를 풀었으면 쉽게 풀었을 것 같아요. 그럼 해결방안에 대해 설명하겠습니다. function solution(nums) { var answer = 0; let sumArr = []; // 3개의 수를 더했을 때 for(let a = 0; a < nums.length; a++){ for(let b = 0; b < nums.length-a-1; b++){ for(let c =0; c < nums.length-a-b-2; c++){ let numA = nums[a]; let numB = nums[a+b+1]; let numC = nums[a+b+c+2]; l..

[프로그래머스] 실패율

안녕하세요. 민쯔입니다.😊 이번 주에는 실패율 문제를 풀어보았는데요. 이번에도 역시나... 잘 안 풀려서ㅠ 남친님한테 SOS해서 풀었습니다.😂 남친님이 치는 코드 보면 존경스러워요ㅠㅠ 너무 잘해요. 그냥 봐도 이해가 되고 자바스크립트 치는 사람도 아닌데 왜 이렇게 잘 푸는지...🤣 저도 풀다보면 잘 풀겠죠. 그럼 실패율 해결방안에 대해 설명하겠습니다. function solution(N, stages) { let fRArr = []; let sSn = stages.length; // 실패율 구해서 배열에 추가 for(let i=0; i stage == (i+1)).length; fRArr.push(nC / sSn); sSn -= nC; } // 배열을 Map으로 변경 const fRMap = fRArr...

728x90
반응형