전체 글 119

[프로그래머스/javascript] k번째수

풀이 1) 배열 array가 주어지면, 주어진 조건에 맞게 배열을 자르고 정렬한 뒤 결괏값을 찾아야 하는 문제이다. 2) 배열을 순회하면서 자를 수 있어야 하고, 정렬할 줄 알아야 한다. 통과 못한 코드 function solution(array, commands) { var answer = []; for(let i = 0; i < commands.length; i++) { let sliceArray = array.slice(commands[i][0]-1, commands[i][1]); sliceArray.sort(); answer.push(sliceArray[commands[i][2]-1]); } return answer; } 통과한 코드 function solution(array, commands) ..

Hacker Rank JavaScript: Birthday Cake Candles

출처: https://www.hackerrank.com/challenges/birthday-cake-candles/problem Birthday Cake Candles | HackerRank Determine the number of candles that are blown out. www.hackerrank.com 조건에 맞게 함수를 완성하시오. 테스트에 모두 통과하지 못했던 방식 내가 맨 처음에 작성한 방법 function birthdayCakeCandles(candles) { // Write your code here let n = candles.length; let max = Number.MIN_SAFE_INTEGER; let cnt = 0; for(let i = 0; i < n; i++) { i..

[토체프 키보드][mac][논리연산자] 맥 유저가 토체프 무소음 적축을 쓸 때 or 논리 연산자를 입력해야한다면...?

맥 프로 자판과 일치하지 않아 시간 할애를 포기하고 묵혀두었던 토체프 무소음 적축 키보드를 꺼냈다. 책상 배치를 바꾸면서 키보드가 필요했기 때문이다. 키보드 자판이 익숙하지 않아 불편하지만 시간을 들여 극복해야지. (며칠 만에 극복했다, 나 자신 칭찬해) 그런데 코딩을 하다가 난관에 부딪혔다. 토체프에서 || (or 연산자)가 안 보이는 것이었다. 키보드마다 쉬프트나 옵션 키를 누르고 다 눌러봐도 안보였다. 구글 검색도 해보고 마침내? 찾아낸 해결책은 아래와 같은데 영 번거롭다ㅠㅠ 그렇지만 불 연산자를 써야 일처리가 되니까 임시방편으로 이렇게 하기로 했다. 1. 화면 상단에 한 두벌식을 클릭하면 이모티콘 및 기호 보기가 있다. 이것을 클릭한다. 2. 오른쪽 검색란에 VERTICAL LINE을 검색한다. ..

개발 2021.05.12

[프로그래머스/javascript/카카오 인턴] 키패드 누르기

문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 #키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가..

[프로그래머스/javascript] 문자열 내 p와 y의 개수

문제 정답 처리된 코드(1) function solution(s){ var answer = true, p_cnt=0, y_cnt=0; var tmp = s.toUpperCase(); for(let x of tmp){ if(x === 'P') p_cnt++; else if(x === 'Y') y_cnt++; } if(p_cnt === y_cnt) answer=true; else answer=false; return answer; } 문제 이해 1) 문자열을 모두 대문자로 만들어서 하나하나 확인한다. 2) P일 때와 Y일 때 각각 1씩 카운트해서 개수가 같은지 다른지 확인한다. tmp 변수를 만들지 않고 s.toUpperCase(); 만 처리하고 for 문을 돌렸더니 테스트 케이스에 모두 통과되지 않았음. ..

[프로그래머스/javascript] 문자열 다루기 기본

문제 정답 처리된 코드 function solution(s) { var answer = false; var regex = /^[0-9]*$/; if((s.length === 4 || s.length === 6) && (regex.test(s))){ answer = true; } return answer; } 문제 이해 1) 길이가 4 또는 6이고 숫자로만 되어있는지 확인되면 true 처리한다. 2) 나머지는 모두 false 3) 정규 표현식이 유용하다. 정규 표현식 위 문제에서 사용된 정규표현식을 집고 넘어가보자. /^[0-9]*$/ 1) / 기호는 시작과 종료를 의미한다. 2) ^ 라인의 시작 지점을 뜻 함 ( 어디선가 ^는 부정을 뜻하기도 한다고 했던거 같은데... 좀더 찾아보기로...) 3) [] ..

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

문제 정답 처리된 코드 다른 사람 코드 function solution(strings, n) { var answer = []; answer = strings.sort((a, b) => a[n] === b[n] ? a.localeCompare(b) : a[n].localeCompare(b[n])); return answer; } 문제 이해 1) 문자열 비교하는 localeCompare를 사용 2) 삼항 연산자로 마무리 삼항 연산자, localeCompare 추가로 포스팅해야겠다. 출처: programmers.co.kr/learn/courses/30/lessons/12915?language=javascript 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이..

[프로그래머스/javascript] 문자열 내림차순으로 배치하기

문제 정답 처리된 코드 function solution(s) { var answer = ''; answer = s.split('').sort().reverse().join(''); return answer; } 문제 이해 1) split로 문자열을 배열로 만든다 2) 배열을 sort()로 나열한다. (sort() 없이 reverse() 하면 오류 난다.) 3) 나열한 배열을 reverse()로 내림차순 정렬한다. 4) join()으로 배열을 문자열로 만든다. 출처: programmers.co.kr/learn/courses/30/lessons/12917?language=javascript 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열..

[프로그래머스/javascript] 나누어 떨어지는 숫자 배열 문제 풀기

문제 정답 처리된 코드(1) function solution(arr, divisor) { var answer = []; for(let i=0; i (a-b)); return answer; } 문제 이해 1) arr 배열 길이만큼 회전하면서 divisor와 나눈 나머지가 0인 값을 answer 배열에 push 한다. 2) answer 배열 길이가 0이면 나누어 떨어지는 값이 없다는 의미이므로 -1을 push 한다. 3) 오름 차순 정렬을 위한 처리를 한다. 정답 처리된 코드(2) 다른 사람의 풀이에서 좋아요가 가장 많은 코드이다. function solution(arr, divisor) { var answer = []; answer = arr.filter(v => v%divisor === 0); answe..

반응형