본문 바로가기

반응형

Dev/Algorithm

(16)
알고리즘 문제 | 프로그래머스 - 2016년 문제 풀이 년은 고정이고 달이랑 일은 변수로 받아오니까 Date 메소드 찾아서 요일 받아오는 메소드 있나 확인해보기! => 있다 getDay() 여기서 getDay가 일~월을 숫자 0~6으로 받아 오기 때문에 비교를 해줘야 하는데 여러 방법이 있겠지만 배열로 받아오는게 편할 듯 싶어서 배열 생성! function solution(a, b) { var answer = ''; let date = new Date(2016,a-1,b); let day = ['SUN','MON','TUE','WED','THU','FRI','SAT']; return answer = day[date.getDay()]; } 패스 ~ 다행이군 ※ 추가 new Date()로 가져왔을 때 요일 가져오는걸 못봤었다.. 봤으면 나도 배열 생성..
알고리즘 문제 | 프로그래머스 - 3진법 뒤집기 문제 풀이 음.. 겁나 어려워보이는구만... 일단 10진법을 3진법으로 변환하고 변환한 값을 앞뒤로 반전한 다음 반전된 값을 10진법으로 리턴해라!! 3진법으로 변환하기 위해서는 나머지 값을 계속해서 구해야 하니까 반복문을 사용해야 하고 앞뒤 반전을 해야하니까 reverse 쓰고 10진법으로 다시 변환해야 하니까 3진법을 10진법으로 구하는 로직도 짜야하는군 해보자 해보자!! function solution(n) { var answer = 0; var myRemainder = 0; var myStringTemp = ''; while(n > 0) { myRemainder += n % 3; // 나머지 n = parseInt(n / 3); // 몫 myRemainder = myRemainder.toStrin..
알고리즘 문제 | 프로그래머스 - 같은 숫자는 싫어 문제 음음음음음~ element가 0~9인 배열의 element들을 반복해서 검사 해 (아놔 시간 초과될 것 같은 느낌인데.. 일단 해보자!) 만약 0이 걸렸다? 그럼 0을 배열에 담아 이 때! 한번만 담아야 돼 두번째 부터는 지나가야 해.. 그걸 어떻게 코딩하지 ?? 문제를 다시 읽어봤다!! 자ㅏ!! 첫번째 값이 1이야 그 다음 값을 비교해서 같다면? 패스하고 다 다음 값으로 비교해서 다르다? 담아 이걸 반복하면 될 듯 ..? 아놔...................................... 왜 0은 안담기지? 왜 4,4 같은데 못거르지 ? 생각해보자.....ㅜㅠㅜㅠㅜㅠㅜㅠㅜㅠㅜ 아놔 다르면 담아야 되는데 뭐하냐 진짜.. function solution(arr) { var answer = [];..
알고리즘 문제 | 프로그래머스 - 나누어 떨어지는 숫자 배열 문제 생각하자ㅏㅏ array 안에 자연수 element들이 있는데 그걸 divisor로 나눴을 때 나눠진다면 그 element를 리턴해야 돼! 그리고 divisor로 나누어지는 element들이 하나도 없다면 배열에 -1을 리턴! 마지막으로 오름차순으로 정렬하면 끝일 듯? 처음에 map을 쓰려고 했는데 모든 걸 다 리턴하다보니 원하지 않는 값도 도출됐다.. 그래서 filter로 변경! function solution(arr, divisor) { var answer = []; answer = arr.filter(arr => { if(arr % divisor == 0) { return arr; } }) if(answer.length == 0) { answer = [-1]; } answer.sort(funct..
알고리즘 문제 | 프로그래머스 - 두 정수 사이의 합 문제 풀이 window.addEventListener('DOMContentLoaded', function() { function solution() { var a = 4; var b = 1; var answer = 0; var tempArray = []; var tempArrayTotal = 0; var middleNumber = 0; if(a !== b) { if(a > b) { middleNumber = a - b; if(middleNumber > 1) { for(var i=0; i 1) { for(var i=0; i
알고리즘 문제 | 프로그래머스 - 소수 찾기 소수 찾기를 해보자.. 우선, 소수란 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수! 예를 들어, 5는 1×5 또는 5×1로 수를 곱한 결과를 적는 유일한 방법이 그 수 자신을 포함하기 때문에 5는 소수이다. 그러나 6은 자신보다 작은 두 숫자(2×3)의 곱이므로 소수가 아님! 따라서 function solution(n) { let answer = 0; let count; for(let i=2; i
알고리즘 문제 | 프로그래머스 - 수박수박수박수박수박수? 바로 본론~ 보자보자~ 우선, 문제에서 n이 4이면 "수박수박"을 리턴하고 n이 3이면 "수박수"를 리턴이라.. 오케이~ 그럼 홀수 짝수로 하면 되니까 조건을 (n % 2 === 0) ? 로 하면 되겠고~ 짝수 일 때 "박", 홀수 일 때 "수"가 와야 하니까 (n % 2 === 0) ? answer = '박' : answer = '수'; 로 하면 ~ 끝! 이 아니지 이렇게 되면 한개씩만 출력되지! 그렇다면 반복문! function solution(n) { var answer = ''; for(var i=0; i
알고리즘 문제 | 프로그래머스 - 문자열을 정수로 바꾸기 알고리즘 코딩 테스트~ 하고 싶은 맘만 가득했는데 이제 진짜 해봐야겠다~~ 거두절미하고 바로 고고고고ㄱ~ 문자열을 정수로 바꾸는 문제! 아래 보이는 solution.js를 통해서 문제를 푸는 방식!! 우선 알고리즘이니 차근차근 풀어서 해석하자면! 문자열 s를 숫자로 변환해야 하니 function solution(s) { var answer = 0; answer = Number(s); return answer; } 인자를 Number를 통해 숫자로 변환!! 잉 끝인감?? 결과는?? 아싸바리요~~ 정답을 맞히고 나니 다른 사람의 풀이를 볼 수 있었다! 다 똑같겠지 했건만........................ 미쳤다 미쳤어.... 그저 str/1이라는 짧은 return을 통해서 숫자로 인식.... 진짜 ..

반응형