본문 바로가기

개발자

(17)
[프로그래머스] 시저 암호 - 자바스크립트 문제 설명 문제 풀이 시저 암호의 대소문자 구문이 조금 어려웠던 문제였다. 나의 풀이는 크게 4가지 단계로 나뉘어져 있다. 1. 알파벳들을 모두 배열로 바꾼다. let lower = 'abcdefghijklmnopqrstuvwxyz' let upper = lower.toUpperCase(); let arrLower = lower.split(''); let arrUpper = upper.split(''); let arrTempIndex = []; let answer = []; 2. 받아온 문자열 s의 배열을 알파벳 배열에서 찾아 인덱스 번호로 바꿔준다. for(let i = 0; i (x + n) % arrLower.length); 4. 증가 시킨 인덱스 번호로 알파벳 배열에서 결과로 넣어준다. for(l..
[프로그래머스] 콜라츠 추측 - 자바스크립트 문제 설명 문제 풀이 function solution(num) { let collatz = 0; if(num === 1) { return 0; } for(let i = 0; i
[프로그래머스] 정수 제곱근 판별 - 자바스크립트 문제 설명 문제 풀이 function solution(n) { let x = Math.floor(Math.sqrt(n)); return n === x * x ? (x + 1) * (x + 1) : -1; } Math.sqrt메소드는 괄호의 제곱근을 반환해준다. 그리고 제곱근이 소수자리로 나오는 것들을 걸러주기 위해 floor로 내려주고 n 값과 x * x값을 비교해 주면 된다. 실행 결과 코드 채점하고 제출
[프로그래머스] 정수 내림차순으로 배치하기 - 자바스크립트 문제 설명 문제 풀이 function solution(n) { let a = n.toString().split('').sort((a, b) => b - a); let b = []; for(let i = 0; i
[프로그래머스] 소수 찾기 - 자바스크립트 문제 설명 문제 풀이 이번엔 두 가지의 풀이를 들고 왔다. 첫 번째 풀이는 코드도 더욱 간결하고 테스트도 통과하였다. 하지만 채점하고 제출하는데 테스트 10, 11, 12번을 통과하지 못해서 효율성 검사에서 탈락했다. function solution(n) { let answer = []; for(let i = 2; i
[프로그래머스] 서울에서 김서방 찾기 - 자바스크립트 문제설명 문제풀이 function solution(seoul) { let answer = ''; let i = seoul.findIndex(a => a === 'Kim'); return answer = `김서방은 ${i}에 있다` } findIndex메서드를 써서 문자열이 같은 요소의 인덱스 번호를 받아와 문제를 풀었다. 실행 결과 코드 채점하고 제출
[프로그래머스] 문자열 내림차순으로 배치하기 - 자바스크립트 문제 설명 문제 풀이 function solution(s) { let answer = ''; answer = s.split('').sort().reverse().join(''); return answer; } sort((a, b) => a - b) 는 대문자를 뒤로 배치하기 때문에 그냥 sort()를 적용한 후 reverse메서드를 통해 거꾸로 돌렸다. 여기서 더 코드를 줄이고 싶다면 아래 코드처럼 하면 된다. function solution(s) { return s.split('').sort().reverse().join(''); } 실행 결과 코드 채점하고 제출
[프로그래머스] 문자열 내 마음대로 정렬하기 - 자바스크립트 문제 설명 문제 풀이 function solution(strings, n) { return strings.sort((a, b) => a[n] === b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n])); } string메서드 중 하나인 localeCompare를 array 정렬 메서드인 sort메서드에 넣어서 문제를 풀었다. localeCompare메서드는 문자열과 문자열을 비교하는데 사용된다. 아래에 예제를 하나 들어보곘다. 'a'.localeCompare('b'); // -1 'b'.localeCompare('a'); // 1 'b'.localeCompare('b'); // 0 'a'.localeCompare('a'); // 0 이런 식으로 -1, 0, 1을..
[프로그래머스] 같은 숫자는 싫어 - 자바스크립트 문제 설명 문제 풀이 function solution(arr) { return arr.filter((x, i) => x !== arr[i + 1]); }; filter메서드를 통해 arr안에 있는 x가 x다음 번 요소와 같지 않은 것들을 반환하는 알고리즘을 만들었다. 실행 결과 코드 채점하고 제출
[프로그래머스] 2016년 - 자바스크립트 문제 설명 문제 풀이 function solution(a, b) { let answer = ''; let days = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT']; let date = new Date(2016, a - 1, b); let day = date.getDay(); answer = days[day]; return answer; } 자바스크립트의 날짜 메서드를 활용하여 문제를 풀었다. 실행 결과 코드 채점하고 제출
[프로그래머스] K번째수 - 자바스크립트 문제 설명 문제 풀이 function solution(array, commands) { let fir = []; let sec = []; let answer = []; for(let a = 0; a a - b); answer.push(sec[k - 1]); } return answer; } 문제의 예시에 맞게 fir, sec에 임시로 값을 담고 마지막 answer에 집어 넣었다. 실행 결과 코드 채점하고 제출
[프로그래머스] 체육복 - 자바스크립트 문제 설명 문제 풀이 function solution(n, lost, reserve) { let answer = 0; let ans = []; for(let i = 0;i