코딩 테스트

[처음 푼 풀이] function solution(price, money, count) { let fee = 0; for (let count = 1; count fee) return 0; } 1. 먼저 요금을 반환받을 변수 설정 2. for문 안에서 count를 변수로 주고 요금에 원래가격 * 횟수 를 곱해 누적시킴 3. 그리고 요금에서 가지고 있던 돈을 빼서 리턴받음 4. 근데 여기서.. count
[풀이] 이번 문제는 어려웠던 문제였음! 1. 소수찾는 법을 알아야했다. (소수찾는 법을 알아도 문제를 풀기가 힘들었다) 2. 풀이가 여러가지 방법이 존재한다. function solution(n) { const nArr = new Array(n).fill(1); nArr[0] = 0; for (let i = 2; i * i { for (let i = 2; i
[풀이] function solution(s) { const result = s.split("").sort().reverse().join(""); return result; } 1. 처음에는 전에 풀었던 오름차순 문제들처럼 어렵게 생각해서 노트에 이것저것 끄적여봤다. 2. 내림차순을 하기 위해서 arr.sort((a, b) => b - a); 를 사용해야하나 많은 고민을 했다. 3. 대문자가 소문자보다 작게 하는 것이므로 정규표현식을 이용해야하나 고민을 했다. 4. 갈수록 방향이 이상하게 잡히는 것 같아서 구글링을 해 글로된 풀이만 참고했다. 5. 저번 문제들에서 많이 사용했던 split()과 reverse(), join()을 이용하면 쉽게 풀리는 문제였다. [다른 팀원의 풀이] function solu..
[내가 푼 풀이] function solution(s) { if(!s.includes('-')){ s = Math.floor(Math.random() * 10000); return Number(s); } else { s = Math.floor(Math.random() * s.length); return Number(s); } } 그냥.. 바보다.. 너무 어렵게 생각했다.. 1. 부호를 포함했는지 안했는지에 따라서 이것저것 해보려고 했는데 어처피 "-1234"를 숫자형으로 변환하면 부호에 상관없이 그냥 -1234가 반환된다. 2. Math.random을 사용하면 정해진 값이 아닌 계속 변하는 값이 반환됨 +[리더님의 조언] 코딩테스트의 문제에서 Math.random은 거의 쓸 일이 없음 입력값과 결과값이 ..
[처음 푼 풀이] function solution(numbers) { for(let i = 0; i < 100; i++){ const randomNum1 = numbers[i]; const randomNum2 = numbers[i]; let newNum = []; newNum += (randomNum1 + randomNum2); const arrNum = newNum.split(); const result = arrNum.sort(); return result; } } 1. 여기서 랜덤한 수를 뽑기 위해서 randomNum을 1, 2 나눠서 변수로 담았음 2. 생각해보니 무작위로 뽑은 수를 모두 numbers[i]로 설정하면 같은 위치에 있는 것이 뽑힐 수도 있기 때문에 잘못되었음 3. 그래서 for 문..
[처음 푼 풀이] function solution(strings, n) { for (let i = 0; i < strings.length; i++) { let arr = []; arr += strings[n][i].split(); const result = arr.sort(); return result; } } 이번 문제는 생각하는데에 오랜 시간이 걸렸다. 인덱스값을 뽑아서 배열을 만들고 그에 일치하는 단어를 위치에 맞게 다시 정렬해야 하는데.. 생각이 복잡했다. 위의 풀이를 순서대로 풀자면, 1. arr 배열을 담을 변수를 만들고, 2. 빈 배열에 strings[n][i] 로 문자열을 반환받았다. 3. (2)번을 배열에 다시 담아주기 위해 split()을 이용했는데 → 이 때 드는 의문점 : split..
[내가 처음 푼 풀이] function solution(n) { for(i=3; i
function solution(n) { const result = ""; const str = n.slice(0, n.length-1); return result = str; } 1. 계속 값이 undefined 가 나옴.. (왜 그러겠니....) 2. 문자열을 넣구 잘라야지.. 문자열도 없는데 자른다고 값이 나오겠냐고😭 3. 이때까지 풀었던 문제들이 대략 n 값을 받아 쓰다보니.. 또 그런 줄 알았음 [구글링+재풀이] function solution(n) { return "수박".repeat(n).substring(0, n); } 이렇게 한 줄이면 뚝딱 끝나는 코드를.. 1. "수박" 이라는 문자열을 n번 repeat 해주고 그것을 인덱스0(시작) ~ 인덱스n 이전 문자까지 잘라줌 만약, n이 3이라..
[풀이] function solution(seoul) { const kimIdx = seoul.indexOf("Kim"); return `김서방은 ${kimIdx}에 있다`; } 1. "Kim"의 인덱스 값을 알아야 했음! 2. 처음엔 for ... of / for ... in 이 떠올랐지만 이것은 특정 문자열의 인덱스값을 구할 수 없음! 3. 구글링 + 노션에 정리했던 내용을 밑바탕으로, 문자열의 인덱스 값을 받아오는 indexOf() 발견 4. 이번주부터 변수명을 적절하게 짓기 노력하기 위해.. "Kim"의 index 값의 의미로 kimIdx 라는 변수명 사용 이번 문제는 내가 풀기에 아주 쉬운 문제였음 문제만 읽었을 때 지레 겁부터 먹었지만.. 자세히 들여다보면 어려울 것이 없었다. 정리 사용 메서..
[풀이] function solution(n) { const ternary = n.toString(3); const reversed = ternary.split("").reverse().join(""); const answer = parseInt(reversed, 3); return answer; } 1. 구글의 도움을 받아 진수 변환법을 익히고 문자열을 뒤집어주면 간단한 문제였음! (생각보다 쉽게 풀려서 당황) 2. 먼저 10진수를 3진수로 변환해야 하므로 toString() 이용해 변환 3. 이 때, 문자열 뒤집기가 중요! - '배열' 뒤집기는 arr.reverse()로 뒤집어줌 - '문자열' 뒤집기는 split('') 통해 문자를 하나씩 잘라 '배열'에 넣어줌 - reverse()로 '배열'을 뒤집..
hayeonn
'코딩 테스트' 카테고리의 글 목록 (4 Page)