
오늘은 알고리즘 특강을 들었다. 저녁이라 너무 피곤해서 특강을 잘 들을 수 있을까 걱정이 무색할 정도로 특강 내용이 좋았고 재미있게 잘 들었다. 내가 가고 싶은 서비스 회사들이 라이브 코테를 진행하는 게 트렌드인 것도 있고, 알고리즘 문제 자체도 푸는 게 재미있어 보여서 알고리즘 문제를 잘 풀어내보고 싶다는 생각이 든다. 강의를 진행하신 튜터님이 숙제를 내 주셨다. 프로그래머스의 수박수박수박수박수박수? 라는 문제다. 문제 설명길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건n은 길이 10,000이하인 자연수입니다. 풀이 과정더보기아니 강의에..
call 메서드가 this를 명시적으로 바인딩하는 방법 'this'바인딩 이해하기 - 'this'는 함수가 어떻게 호출되는지에 따라 다른 값을 가진다. 'call'메서드는 함수 호출 시 'this'를 특정 값으로 설정할 수 있게 해 준다. 'call'메서드 사용function sayHello(){ console.log('Hello, my name is ${this.name}');}const person = { name = 'John'};sayHello.call(person); //Hello, my name is John위 코드에서 'sayHello' 함수는 'this.name'을 출력한다. 'call' 메서드의 동작 원리1. 함수 정의 : function sayHello(){ console.log('..
콜백 함수 -> 다른 코드(함수 또는 메서드)에게 인자로 넘겨줌으로써 그 제어권도 함께 위임한 함수. 콜백 함수를 위임받은 코드는 자체적으로 내부 로직에 의해 이 콜백 함수를 적절한 시점에 실행한다. (알아서) 콜백함수를 넘겨 받은 코드가 가지는 제어권1. 호출 시점 var count = 0;//timer : 콜백 내부에서 사용할 수 있는 '어떤 게 돌고 있는지'//알려주는 id값var timer = setInterval(function() { console.log(count); if(++count >4) clearInterval(timer); // count 변수가 4보다 커지면 clearInterval 함수를 사용하여 타이머를 중지. }, 300); // 300밀리초(0.3초)마다 익명 함수를 실..
배열여러 개의 값을 순서대로 저장하는 리스트 형태의 데이터 구조 배열 수정하기let fruits = ['Apple', 'Banana', 'Cherry'];console.log(fruits); // ['Apple', 'Banana', 'Cherry']//배열 요소 수정 fruits[1] = 'Blueberry';console.log(fruits); // ['Apple', 'Blueberry', 'Cherry'] 배열 복사하기 > 배열을 복사할 때는 얕은 복사(shallow copy)와 깊은 복사(deep copy) 두 가지 방법이 있다. 얕은 복사(Shallow copy) - 배열의 참조를 복사하는 것으로, 원본 배열과 복사된 배열이 동일한 객체를 참조한다. 따라서 한 배열을 수정하면 다른 배열에도 영향을..
- 상수 : 변수에 할당되지만 프로그램 실행 중에는 변경하거나 수정할 수 없는 값. 시간이 지나도 변하지 않는 고정 값 또는 값을 나타내는 데 사용된다. - 변수 : 메모리에 저장한다. 저장한 값을 읽어들여서 재사용한다. 변수의 5가지 주요 개념1. 변수 이름 : 저장된 값의 고유 이름. 항상 키워드 뒤에 온다. 이름은 무엇이든 상관 없다.2. 변수 값 : 변수에 저장된 값 "Hello World"3. 변수 할당 : 변수에 값을 저장하는 행위(myVar = "Hello World")4. 변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위. var라는 키워드를 이용해서 myVar라는 변수를 반들어줘. (var myvar)5. 변수 참조 : 변수에 할당된 값을 읽어오는 것. a+b > a,b를 참조했..

*아래 방법은 git 아이디를 만들고 원격 저장소에 파일이 있는 것을 전제로 한다.*원격 저장소 : 로컬저장(로컬 서버, 로컬은 '내 컴퓨터' 자체를 의미한다)소 외에 위치한 저장소1. 원격 저장소에 파일이 있고 나는 처음 파일을 받거나 원격 저장소에 있는 파일을 통으로 받고 싶을 때 - git clone 1. 내 컴퓨터에 저장할 폴더를 만들어야 한다. 컴퓨터에 새 폴더를 만든다. 2. 터미널을 연다 (vscode 기준 좌측 상단 새 터미널) 2. 터미널에 cd 입력 후 폴더를 드래그해온다.3. clone 할 원격 저장소 주소를 복사해온다. 4. git clone (github 주소) 를 입력한다. 5. 새 폴더에 clone 파일이 생성된다. 1. 원격 저장소에 최신 파일이 있고 최신 파일을 불러오고 ..

부트캠프 1주차, 미니 팀프로젝트로 팀 소개 웹페이지 만들기가 발제되었다. 우리 팀은 다이어리를 컨셉으로 소개 페이지를 만들기로 하였고, 나는 '좋아요'기능 구현을 맡게 되었다. 내가 아이디어를 내서 내가 맡는다고 하긴 했지만, 막막하다! 일단 좋아요 기능을 다른 사람들은 어떻게 만들었는지 쭉 보면서 흐름을 파악하고, 좋아요 기능에는 어떤 효과가 들어가야 할지 생각하는 것을 출발점으로 삼았다. 좋아요 기능에는 어떤 효과가 들어가야 할까? - 좋아요 버튼을 누르면 빈 하트가 꽉 찬 하트로 바뀌어야 한다. - 좋아요 버튼을 누르면 좋아요의 숫자가 하나 올라가야 한다. - 좋아요 버튼을 두 번 클릭하면 꽉 찬 하트가 다시 빈 하트로 돌아가야 한다. - 좋아요 버튼을 두 번 클릭하면 좋아요의 숫자가 하..

문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 -num은 int 범위의 정수입니다. -0은 짝수입니다. 문제 풀이 과정 더보기 - 짝수, 홀수를 보자마자 어제 공부했던 코딩 테스트-짝수의 합이 생각났다. %를 이용해 나머지가 0이면 짝수, 아니면 홀수라고 정의했었지. 짝수의 합 풀이를 참고해 solution 함수를 작성했다. - 작성하기 전에 제한 조건 중 'int 범위의 정수'라는 말이 뭔지 모르겠어서 구글링을 해 보았다. -2^31≤ num ≤ 2^31로 표현하면 될 것 같다. ^연산자를 코딩에서 쓰는지는 모르겠어서 지피티한테 한번 물어봤다. 자바스크립트에서 2^31을 표현하려면 'Math.pow..