본문 바로가기

자바스크립트11

[프로그래머스 - Level 1] 부족한 금액 계산하기 (JS) 네...? 뭘 하라구요? 일단 for문 돌려서 놀이기구 요금 합계부터 구하고.. 가진 돈 - 요금 합계가 0보다 크면 return 요금 합 - 가진돈을 해볼게요.. function solution(price, money, count) { let sum = 0; for (let i = 0; i 0 ? sum - money : 0); } let price = 3; let money = 20; let count = 4; console.log(solution(price, money, count));// 결과값 : 10 // 위의 코드 살짝 다듬음 function solution2(price, mo.. 2022. 7. 16.
[프로그래머스 - Level 1] 핸드폰 번호 가리기 (JS) 뒤에서부터 4자리 가져오고 → "*"에다가 뒤에서 4번째 전까지의 길이만큼 곱한 걸 합친다! 어제 배운 substr() 함수를 이용해 substr(-1, -4)를 하면 뒤에서 4개 가져올 수 있을줄 알았는데 자세히 보니 'str.substr(시작 인덱스, 추출 개수)'였다 시작을 뒤에서 4번째(-4)부터 해서, 4개 추출 하는 걸로 바꾸니 잘 돌아간다! 그럼 *로 바꿀 번호의 개수는 어떻게 알 수 있을까... 또 머리가 안 돌아가서 찾아봤다! ▼ 오늘의 함수 str.substr(시작 인덱스, 추출 개수) str.substring(시작 인덱스, 끝 인덱스) → 끝 인덱스 앞까지 추출 ※ substring()의 경우 (시작 인덱스 번호, 끝 인덱스 번호+1)로 해야 시작부터 끝까지 다 나옴 "*"로 바꿀 번.. 2022. 7. 16.
[프로그래머스 - Level 1] 두 정수 사이의 합 (JS) 이 문제는 수포자라 공식 이름은 몰라도 아래처럼 접근은 했었다.. (가우스 공식) 근데 너무 어려워~~ 모르게써~~~ const a = 5; const b = 3; function solution(a, b) { const small = a b ? a : b; let sum = 0; for (let i = small; i 2022. 7. 15.
[프로그래머스 - Level 1] 가운데 글자 가져오기 (JS) 나의 첫 알고리즘 코딩테스트 문제가 된 걸 축하한다 알고리즘이라 할 수 있는 건 제로초 유튜브 무료 강의 보면서 별 찍어본 게 처음이자 마지막이었는데... 새삼 느끼지만 이 강의 괜찮았던 것 같다 이번 주차에 끝까지 완강해보게써... 제로초 JS 유튜브 무료강의 링크 이게 중요한 게 아니라 다행히 이건 문제 설명이 친절해서 어떻게 접근해야할지 감은 왔다 "단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다."에서 힌트를 얻어 단어 길이가 짝수인 경우와 홀수인 경우를 나눠 생각해봤다 1. 홀수인 경우(a = "abcde") : a.length/2 = 2.5이므로 내림을 한 3번째 자리 수를 하나만 가져와야 함. 2. 짝수인 경우(b = "fghi") : b.length/2 = 2로 딱 떨어지므로 2번.. 2022. 7. 15.
[javascript | JS] setTimeout()을 통해 호출 스택, 이벤트 루프 알아보기 자바스크립트는 싱글 스레드이면서 어떻게 비동기 동작을 할까? JS 비동기의 핵심, 이벤트 루프에 대해 알아보자. 1. 메모리 힙 (Memory Heap) : 객체(object) 등 참조타입 데이터가 저장 되는 곳, 변수나 상수에 사용되는 메모리를 저장하는 곳. 2. 호출 스택 (콜 스택, Call Stack) 함수의 '호출', 자료구조의 '스택' 함수 호출 순서대로 쌓이고, 역순으로 실행됨. 함수 실행이 완료되면 스택에서 빠짐 LIFO 구조라서 스택이라고 불림 (후입선출, Last-In First-Out) JS는 싱글 스레드이므로 하나의 호출 스택을 가짐 (한가지 일task만 처리 가능) 파일이 실행되면 기본적으로 Anonymous라는 가상의 전역 컨텍스트가 생김, 실행이 끝나면 같이 사라짐 3. 백그라.. 2022. 6. 29.