전화면접을 너무 못봐서 기대도 하지 않고 있던 회사에서
어..
합격했다고, 기술면접 보자고 연락이 왔다.
코딩테스트랑 구현테스트 같은 것을 본다고 하는데
사실 코딩테스트는 준비한 적이 없어서 무엇부터 준비해야 하는지 전혀 감이 오지 않는다.
그래서 테스트를 보기전에 프로그래머스 0, 1레벨은 다 풀고 가려고 한다.
그게 여태 전혀 코테를 준비하지않은 사람이 지금 할 수 있는 최선이 아닐까 한다.
Math.ceil() : 올림
Math.floor() : 내림
Math.round() : 반올림
console.log(Math.ceil(1.222 * 10) / 10) // 1.3
부동소수점 처리로 자리수 지정도 가능.
reverse() : 문자랑 배열을 거꾸로 뒤집어준다.
그 외의 방법
function solution(my_string) {
let str = ""
for(let i=my_string.length-1; i>=0; i--){
str += my_string[i]
}
return str
}
slice() : 배열의 일부를 선택하여 새로운 배열을 반환. 원본배열 변경 X
splice() : 배열의 일부를 선택하여 새로운 배열을 반환. 원본배열 변경 O
split() : 문자열을 분할하고, 배열 객체로 반환. 파라미터 = 구분자
join() : 배열을 결합 후, 문자열로 반환. 파라미터 = 반환한 문자열의 기준점
for(let i=1; i <= Math.sqrt(n); i++){
...
}
제곱근 까지만 계산하면 됨.
array.sort((a,b)=>a-b) // 오름차순
array.sort((a,b)=>b-a) // 내림차순
let arr = num.toString().split('').map(Number);
// 숫자를 toString 으로 문자열로 바꿔준 후 split 으로 배열로 바꿔준 다음 map(Number)
배열이나 문자열에서 특정 요소가 포함되어 있는지 확인. 있다면 true, 없다면 false
function solution(my_string) {
return my_string.split('').filter(e=>!['a','e','i','o','u'].includes(e)).join('')
}
배열을 넣어 대조시킬수도 있음.
Math.sqrt() // root 씌우기
Number.isInteger() // 정수인지 아닌지 판별
return Number.isInteger(Math.sqrt(n)) ? 1 : 2
function solution(my_string, num1, num2) {
my_string = my_string.split('');
[my_string[num1], my_string[num2]] = [my_string[num2], my_string[num1]];
return my_string.join('');
}
push()
: 배열의 끝에 요소를 추가. 길이를 반환.pop()
: 배열의 마지막 요소를 제거. 제거된 요소를 반환.unshift()
: 배열의 첫 번째 요소로 요소를 추가. 길이를 반환.shift()
: 배열의 첫 번째 요소를 제거. 제거된 요소 반환.const arr = [1,2,3]
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
const last = arr.pop();
console.log(last); // 4
console.log(arr); // [1, 2, 3]
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
const first = arr.shift();
console.log(first); // 0
console.log(arr); // [1, 2, 3]
배열 회전시키기 예시
function solution(numbers, direction) {
if (direction === "right") {
const last = numbers.pop();
numbers.unshift(last);
} else if (direction === "left") {
const first = numbers.shift();
numbers.push(first);
}
return numbers;
}
const arr = [1, 5, 2, 7, 3, 9];
const maxNum = Math.max(...arr);
// spread -> Math.max 메소드
console.log(maxNum); // 9
indexOf() : 특정 요소의 인덱스를 반환. 없으면 -1 반환.
계정을 새로파서 아예 처음부터 풀어봤는데
0레벨은 아주 쉬운 편이라서 한 100개 풀 수 있을 줄 알았더니 생각보다 너무 오래걸렸다.
역시 이거 가끔하면 재밌다.
그렇지만 화면보고 뚝딱뚝딱 하는게 더 재밌는데..
라는 생각으로 소소한 불평을 해본다.