Today I Learned
- Programmers 문제 풀기
- 기술면접 준비
Programmers 문제 풀기
부족한 금액 계산하기
나의 풀이
function solution(price, money, count) {
let fee = Array(count).fill().reduce((acc, cur, i) => acc + price * ( i + 1 ), 0)
return money > fee ? 0 : Math.abs(money - fee);
}
Array, fill로 배열을 만든 후에 reduce 메서드로 전체 금액을 더한다.
대문자와 소문자
나의 풀이
function solution(my_string) {
return my_string.split("").map((str) => str === str.toUpperCase() ? str.toLowerCase() : str.toUpperCase()).join("");
}
주사위의 개수
나의 풀이
function solution(box, n) {
return Math.floor(box[0] / n) * Math.floor(box[1] / n) * Math.floor(box[2] / n)
}
문제에 직육면체가 등장하는데 이해가 잘 안 돼서 직접 그려보면서 했다ㅋㅋ
다른 사람의 풀이
function solution(box, n) {
let [width, length, height] = box;
return Math.floor(width / n) * Math.floor(length / n) * Math.floor(height / n);
}
구조분해할당으로 배열의 요소를 개별 변수로 사용할 수도 있다.
회고
오늘 알게 된 사실 하나. for문보다 map이 속도가 더 느리다고 한다. 나는 for문은 좀 지저분한 느낌이라 map 메서드 쓰는 걸 선호하는데 굉장히 충격적인(?) 사실이었다😱
출처 https://blog.naver.com/thdwlsgus0/222269338961
프로그래머스는 한동안 1단계 정답률 높은 순으로 풀다가 머리 식힐 겸 좀 간단한 문제들을 풀고 싶어서 다시 0단계로 돌아가서 해결하지 못했던 문제들을 하나하나 지워가고 있다.
오늘 목터뷰에서 질문 뽑아서 답변 다 정리했고 내일은 계속 말하면서 내용 이해하고 익숙해지는 시간을 좀 가져야겠다. 그리고 모의면접에서 이력서 내용을 바탕으로 한 프로젝트 질문이 많이 나온다고 하니 이 부분도 준비할 예정이다!
'알고리즘 > Programmers' 카테고리의 다른 글
[TIL] 2023.03.22 Programmers 문제 풀기, 인텔리픽 모의면접 후기 (0) | 2023.03.22 |
---|---|
[TIL] 2023.03.21 Programmers 문제 풀기 (0) | 2023.03.21 |
[TIL] 2023.03.19 Programmers 문제 풀기 (0) | 2023.03.19 |
[TIL] 2023.03.18 Programmers 문제 풀기 (0) | 2023.03.18 |
[TIL] 2023.03.17 Programmers 문제 풀기 (0) | 2023.03.17 |
댓글