Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Property Attribute
- 제너레이터와 async/await
- 프로퍼티 어트리뷰트
- 이미지 갤러리 최적화
- 디스트럭처링
- 네트워크 연결과 구성요소
- 원시값과객체의비교
- 모던 자바스크립트 Deep Dive
- Set과 Map
- 프론트엔드 성능 최적화 가이드
- 스코프
- DOM
- 딥다이브
- 기술컨퍼런스
- ES6함수 추가기능
- var 사용금지
- Babel과 Webpack
- 비전공이지만 개발자로 먹고삽니다
- 프로그래머스
- 자바스크립트 딥다이브
- 인터넷 장비
- 전역변수의문제점
- 브라우저의 렌더링 과정
- 자바스크립트
- 빌트인 객체
- 타입변환과단축평가
- 블로그 서비스 최적화
- const
- 올림픽 통계 서비스 최적화
- 이벤트
Archives
- Today
- Total
JDevBlog
Day4_코딩 기초 트레이닝_프로그래머스 본문
홀짝에 따라 다른 값 반환하기
Description
양의 정수 n이 매개변수로 주어질 때,
n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고
n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는
solution 함수를 작성해 주세요.
My answer was
function solution(n) {
const isOdd = !!(n % 2);
let result = 0;
if(isOdd) {
for (let i = 1; i < n+1; i = i + 2) {
result += i
}
} else {
for (let i = 2; i < n+1; i = i + 2) {
result += Math.pow(i, 2)
}
}
return result;
}
Best answer was
function solution(n) {
if(n%2===1)
return (n+1)/2*((n + 1)/2) ;
else
return n*(n+1)*(n+2)/6;
}
// n이 짝수일 때는 등차수열의 합 공식을 적용하였고,
// n이 홀수일 때는 자연수 거듭 제곱의 합을 구하는 공식을 적용한 것으로 보입니다. => 확인필요!
조건 문자열
Description
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
두 수가 n과 m이라면
">", "=" : n >= m
"<", "=" : n <= m
">", "!" : n > m
"<", "!" : n < m
두 문자열 ineq와 eq가 주어집니다.
ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다.
그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을
아니면 0을 return하도록 solution 함수를 완성해주세요.
My answer was
function solution(ineq, eq, n, m) {
if(ineq === ">" && eq === "=") return +(n >= m)
else if(ineq === "<" && eq === "=") return +(n <= m)
else if(ineq === ">" && eq === "!") return +(n > m)
else if(ineq === "<" && eq === "!") return +(n < m)
}
Best answer was
const operations = {
'>=': (n, m) => n >= m,
'<=': (n, m) => n <= m,
'>!': (n, m) => n > m,
'<!': (n, m) => n < m,
};
function solution(ineq, eq, n, m) {
const op = operations[ineq + eq];
return Number(op(n, m));
}
가독성이 매우 좋아졌다.
'Software Engineering > Algorithm Test' 카테고리의 다른 글
Day5_코딩 기초 트레이닝_프로그래머스 (0) | 2023.07.16 |
---|---|
Day3_코딩 기초 트레이닝_프로그래머스 (0) | 2023.07.15 |
Comments