💡 자바스크립트에서 변수를 생성하는 let 과 const 내부값 변경이 어떤 식으로 이루어질 수 있는 지 알아보겠습니다. 변수를 생성하는 방법은 총 두 가지입니다. let 과 const, var let은 변수, 즉 변하는 값을 넣는 container 로 적합하며, const는 상수, 변하지 않는 값을 넣는 container로 적합합니다. 그렇다면 아래 예시와 함께 이해를 넓혀 가보겠습니다. 알다시피 const 내부값 변경은 불가합니다. 하지만 이러한 경우가 있죠. 배열 같은 객체를 const 로 선언했을 때에는 내부값이 변경되는 것처럼 보입니다. 하지만 객체를 const 로 선언할 때, 변하지 않는 값은 10, 20, … 의 value 값이 아니라 내부 주소값이므로, 내부 주소값만 변경되지 않는다면 객체..
💡 얕은 복사(Shallow Copy) 와 깊은 복사(Deep Copy)란 무엇인지? 두 복사의 다른 점과 복사를 이용하는 방법에 대해 알아보겠습니다. 깊은 복사 (Deep Copy) let a = 1000; let b = a; b = 2000; console.log(a, b); // 1000 2000 변수 b 는 a 의 값을 참조했지만, 두 변수의 값은 독립적입니다. 따라서, 변수 a의 값은 여전히 1000입니다. 이처럼 변수의 “값” 만을 참조하는 복사를 깊은 복사(Deep copy)라고 합니다. 얕은 복사 (Shallow Copy) let existedNums = [100, 200, 300, 400]; let newNums = existedNums; newNums[0] = 1; console.log..
💡 자바스크립트에서 사용하는 소수점 올림, 버림, 반올림에 대해서 알아보겠습니다❗ 1. 소수점 내림 Math.floor는 소수점 이하 값을 버리고 정수 부분을 내려줍니다. 주목할 케이스는 음수 일 경우 입니다. Math.floor(3.14); // 3 Math.floor(-3.14); // -4 3.14는 3 과 4 라는 정수의 사이값입니다. 따라서, 소수점 이하 값을 버리고 3 과 4 중 작은 값인 3이 결과값이 됩니다. -3.14는 -4와 -3 이라는 정수의 사이값입니다. 따라서, 소수점 이하 값을 버리고 -4, -3 중 작은 값인 -4가 결과값이 됩니다. 2. 소수점 올림 Math.ceil은 소수점 이하 값을 버리고 정수 부분을 올려줍니다. 주목할 케이스는 내림과 마찬가지로 음수 입니다. Math...
예전에 HTML과 CSS에 대해 공부하고, 요약해서 포스팅했던 네이버 주소를 여기에 남깁니다. https://blog.naver.com/tim1007_/223095526613 [프로드] HTML,CSS - 3. HTML 태그 태그를 사용해보자! abbr은 title 속성을 사용하여 뜻이나 설명을 제공한다. 커서를 갖다 대면 설명을 볼 ... blog.naver.com 이어질 포스트는 네이버 클론코딩을 위한 학습과 과정에 대한 내용입니다.
서론 '비전공자인 내가 과연 코딩으로 밥 벌어먹고 살 수 있을까' 라는 궁금증이 계속해서 생겨나서 유튜브나 구글에 '비전공자 코딩 현실', '비전공자 프론트엔드 팩폭' 같은 키워드로 검색해보면 정말 현실적이고 냉소적인 답변이 잘 보인다. 개발자가 되고 싶은 이유가 타당하다면 흔들리지 않고 꾸준히 의자에 앉아있을 힘이 되어줄 것 같아 이러한 이유들을 정리해 보았다. 1. 전공을 선택하지 않은 이유 ( 코딩을 선택한 이유) 세상은 빠르게 변할 것이고, 현재 전망이 어둡다고 생각하는 분야가 미래에는 잘 나갈 수도 있고, 그 반대의 경우도 마찬가지이다. 코딩으로 취업을 하려는 선택이 알 수 없는 미래의 이유로 성공하든 실패하든 그것은 결과론적인 이야기일 뿐이다. 그렇다면 결국은 내가 더 하고 싶은 것을 선택하는..
문제 문제 출처 - https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 풀이 다이얼 정보를 담은 객체를 하나 만들어두는 것이 좋을 것 같다. const dialInfo = { // 다이얼넘버 + 시간(1초) 이 value가 됨. 'ABC' : 3, 'DEF' : 4, 'GHI' : 5, 'JKL' : 6, 'MNO' : 7, 'PQRS' : 8, 'TUV' : 9, 'WXYZ' : 10 }; 다이얼 숫자의 +1만큼이 걸리는 시간이므로, 객체를 생성하여 key값을 다이얼의 문자, value값을 걸리는 시간(다이얼의 수 + 1) 으로 ..
문제 문제 출처 - https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 쉬워 보이지만, 문자열이 아예 공백으로 나와버리는 경우, 1로 출력되는 문제를 해결해야 한다. 문자열이 공백인 경우를 0으로 출력할 수 있도록 예외 처리를 해준다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let inp..
문제 문제 출처 - https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 풀이 소문자 a의 아스키코드는 97, z는 122이므로, 이 구간을 for문으로 돌린다. 문자열.indexOf(String.fromCharCode(아스키코드)); 해당 아스키코드의 문자가 있는 위치를 indexOf 메소드로 찾아준다. 코드 const fs = require('fs'); const filePath = process.platform === 'linux'..
문제 문제 출처 - https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이 - JavaScript ASCII code 참고 블로그 - https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=diceworld&logNo=220175224345 자바스크립트 아스키코드 변환하기 (charCodeAt / fromCharCode) - charCodeAt / fromCharCode 란? charCodeAt 은 문자열... blog.naver.com 이 문제..