728x90
반응형

코딩 20

[프로그래머스] 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...

[프로그래머스] 예산

안녕하세요. 민쯔입니다.😊 제가 매주 1개씩 프로그래머스 코딩 테스트 연습문제를 푸는데요. 이번에는 예산 문제를 풀어보았습니다. 이문제가 이상하게 진짜 너무 안풀렸는데 막상 답을 알게 되니까 진짜... 왜 못 풀었지 싶더라고요ㅠㅠ 그럼 해결방안에 대해 설명하겠습니다. function solution(d, budget) { var answer = 0; d.sort((a,b) => a - b); for (let i of d) { if (i > budget) { break; } else { budget -= i; answer += 1; } } return answer; } 이번 문제는 "최대 몇 개의 부서에 물품을 지원할 수 있는지"를 구하는 문제입니다. 최대로 물품을 지원하기 위해서는 금액이 적은 것 부터빼..

[프로그래머스] K번째수

안녕하세요. 민쯔입니다.😊 이번에는 K번째수 문제 해결방안에 대해 설명하겠습니다. 이 문제는 문제 설명에서 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 로 되어있습니다. 저는 이문제 보자마자 몇 번부터 몇 번째까지 자르면 : slice(); 배열을 정렬하면 : sort(); 를 쓰면 되겠다는 생각이 들었어요. function solution(array, command..

[프로그래머스] 없는 숫자 더하기

안녕하세요. 민쯔입니다.😊 프로그래머스 코딩 테스트 연습문제 "없는 숫자 더하기"문제 해결방안에 대해 설명하겠습니다. 문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 인데 저는 진짜... 문제 설명 그대로 풀었습니다....😂 function solution(numbers) { let number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; let noNum = number.filter(num => !numbers.includes(num)); let answer = noNum.reduce((acc, cur) =..

[프로그래머스] 신규 아이디 추천

안녕하세요:) 민쯔입니다. 프로그래머스 코딩 테스트 연습문제 "신규 아이디 추천" 문제 해결방안에 대해 설명하겠습니다. 프로그래머스 코딩 테스트 연습문제를 풀다 보면 터득하는 게 있는데요. 문제와 제한사항만 잘 읽으시면 반은 해결한 거라고 생각합니다. "신규 아이디 추천"문제의 키 포인트는 문제설명 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. new_id의 길..

728x90
반응형