JS57 JS, 프로그래머스 - 2016 문제를 풀면서 메서드를 이용하여 간단하게 푸는것이 오히려 독이 될 수 있음을 깨달아 블로그 글 갱신 https://school.programmers.co.kr/learn/courses/30/lessons/12901# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 로 문제는 배열과 패턴을 파악하여 금방 풀수 있었음 function solution(a, b) { l.. 2024. 5. 21. JS, 프로그래머스 - 멀리뛰기 피보나치수 처음에 한눈에 알아보기 정말 어려워.... https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 효진이는 한 번에 1칸, 또는 2칸을 뛸 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567을 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 처음에는 문제는 이해해도 규칙성을 파악하지 못해 오래 걸림 n이 3,4,5... 일 경우 각각 답을 구해보.. 2024. 5. 9. JS, 프로그래머스 - 나머지 한 점 다양한 문제를 풀어보자!! 다각도로 문제를 보자!! https://school.programmers.co.kr/learn/courses/18/lessons/1878 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. function solution(v) { let result = [] for(let i=0; i 처음에는 조건문을 이용해서 하드코딩하였는데 이렇게 코드를 작성했을 경우 문제가 복잡해지면 조건문도 많아지고 예외사항이 많아지기 때.. 2024. 5. 5. JS, StructuredClone() 객체를 복사하려고 한다면 깊은 복사와 얕은 복사라는 개념을 알아야 함JS에서 데이터는 두가지 주요 유형으로 나눌 수 있음. 바로 원시값과 참조값임 원시값은 변수에 할당될 때 해당 변수에 직접 값이 저장됨참조값은 객체로 새로운 변수에 원본 객체에 주소가 복사되어 두 변수가 같은 객체를 가리키게 됨따라서 원본 객체를 변경하면 복사본도 영향을 받게 되는 것. 이것을 얕은 복사라고 함복사본의 영향이 가지 않도록 만들기 위해 객체의 내용을 완전히 새로운 메모리에 저장하는 것을 깊은 복사라고 함이렇게 깊은 복사로 복사된 객체는 원본 객체와는 별개의 독립적인 객체로 원본 객체의 영향을 끼치지 않음 객체를 복사할때 단순히 전개연산자(spread operator)를 사용하여 복사해 원본객체의 영향을 끼치지 않도록 복사할.. 2024. 4. 26. JS, 프로그래머스 - K번째수 문제를 한 번으로 푸는 것으로 끝나는 것이 아닌 좀 더 나은 코드로 바꿔보자는 마음으로 하루 한 개씩 꾸준히 풀고 있는 코테문제. 가독성에 대해 느낀 점이 생겨 갱신!! https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 로 푸는것은 금방 풂 배열을 리턴하는 문제로 map을 사용하고 JS에 내장되어 있는 함수를 이용하여 메서드 체이닝으로.. 2024. 4. 24. JS, isNaN(), Number.isNaN() [ isNaN() ]매개변수가 숫자인지 검사하는 함수. NaN은 Not a Number을 뜻함주어진 값이 숫자이면 true, 아니면 false 반환isNaN() 메서드는 매개변수를 강제로 Number()로 바꾸는 문제점이 있음 기본적으로 NaN은 원시타입인 숫자타입의 값으로 number type으로 분류되어있음또한 NaN은 자신과 일치하지 않는 유일한 값임 isNaN(NaN); // 참isNaN(undefined); // 참isNaN({}); // 참isNaN(true); // 거짓isNaN(null); // 거짓isNaN(37); // 거짓// 자신비교NaN === NaN; // falsevar nan = NaN;nan === nan; // falseNaN == NaN; // falsenan == na.. 2024. 3. 29. JS, 프로그래머스 - 수박수박수박수박수박수? 여러 다른 방법으로 코테를 풀고 있는데 여러가지 방법으로 문제를 풀어보자라는 취지로 글을 쓰게 됨원래 코테는 블로그을 안썼는데(코테에 필요한 정보만 업로드) 까먹게 되고 정리가 필요하겠다는 생각이 들어 갱신!! https://school.programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제는 간단하게 "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하고 홀수일 경우 "수"로 짝수일경우 "박"으로 끝나게 하는 것이 핵심 처음에는 반복문을 이용하여 간단하게 문제.. 2024. 3. 27. JS, 이벤트 바인딩(Event Binding) 바인딩이란 서로 묶어서 연결해 준다는 뜻 이벤트 바인딩이란 발생하는 이벤트와 그 후에 어떤 일이 벌어질지 알려주는 함수(콜백함수)와 묶어서 연결해준다는 뜻 예를 들어 어떤 버튼을 사용자가 클릭하게 되면 클릭 이벤트가 발생하게 되고 그 이벤트가 발생했을때 콜백함수가 실행하게 됨 이때 이 콜백함수를 이벤트 핸들러라고 함 이벤트 바인딩의 대표적 3가지 방식 ▶ HTML 이벤트 핸들러 HTML 요소의 이벤트 Attribute에 이벤트 핸들러를 대응시키는 방법 Click me function clickBtn() { alert('Button clicked!'); } HTML과 JS가 혼용되서 사용되는 방식. 현재 이 방식을 사용하지도 않고 사용해서도 안됨 HTML 이벤트 핸들러 내부의 this HTML 이벤트 핸들.. 2023. 12. 26. JS, DP(Dynamic Programming) [ 동적 계획법(Dynamic Programming) ] 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것 즉 큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용 함 ▶ DP를 사용하는 이유 일반적인 재귀를 단순히 사용 시 동일한 작은 문제들이 여러번 반복되어 비효율적인 계산이 될수 있음 예를 들어 피보나치 수의 경우 1이상의 n의 경우 F(n) = F(n-2) + F(n-1)적용되는 수를 말함(F(0)=0, F(1)=1) 만약 n이 4라면 재귀호출 방식을 사용하게 되면 F(4) = F2 + F(3) = (F(0) + F(1) ) + ( F(1) + F(2) ) = (F(0) + F(1) ) + ( F(1) + (F(0) + F(1) ) ).. 2023. 12. 13. 이전 1 2 3 4 5 6 7 다음