챕터 4 ) 강제 변환 🔸 값 변환 어떤 값의 타입을 바꾸는 과정이 명시적이면 타입 캐스팅, 암시적이면 강제변환 이라 한다. 타입 캐스팅 : 정적 타입 언어에서 컴파일 시점에 발생하며, 의도적으로 변환 사실이 명확하다. 강제 변환 : 동적 타입 언어에서 런타임 시점에 발생하며, 작업 중 불분명한 부수 효과로 부터 발생한다. 🔸 추상 연산 ToString 1️⃣ 내장 원시값은 문자열화 방법이 정해져 있다.(null ➡ "null", undefined ➡ "undefined", true ➡ "true") 숫자는 그냥 변환 되자만 큰 수는 지수화 되어 저장된다. 2️⃣ 일반 객체는 지정이 없다면 내부 [[Class]] 를 반환한다.("[object Object]") 3️⃣ 배열은 toString()이 있기에 ..
FE개발자
챕터 3 ) 네이티브 Native 많이 사용하는 네이티브의 종류 String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol() 🔘 네이티브는 사실 내장 함수이다. 사실 const a = new String("abc")를 typeof로 결과값을 받아보면 "object" 라고 나온다. 즉, string 타입이 아니라 object 하위 래퍼인 것이다. 🔘 instanceof 는 생성자의 프로토타입 속성이 객체의 프로토타입 체인 어딘가 존재하는지 판별한다. ➡ new String("abc")는 원시값을 감싸는 문자열 래퍼를 생성하는 샘이다. 🔸 내부 [[Class]] typeof 가 Object인 값에는 [[Clas..
챕터 2 ) 값 Value 🔸 배열 : JS에서는 문자열, 숫자, 객체, 배열까지 담을 수 있다.(배열을 담을 경우 다차원 배열이 된다) 🔸 문자열 : 문자열과 배열은 비슷하지만, 문자열을 "불변값" 이고, 배열은 "가변값" 이다. 🔘 문자열은 불변값 이므로 메서드에서의 내용변경은 새로운 문자열 생성 후 반환된다. 🔸 숫자 🔹 JS에서 유일한 숫자타입 : Number ➡ 정수, 부동 소숫점 숫자 등... (64 바이너리 사용) 🔹 숫자구문 10진수 리터럴로 표시 소숫점 앞 정수가 0이면 생략가능(0.42 ➡ .42) 소숫점 이하가 0일때도 생략 가능(42.0 ➡ 42.) 아주 크거나 작은 수는 지수형으로 표시( .toExponontial 메서드 사용 ) 숫자값은 Number 객체로 박싱할 수 있기에 Nu..
문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 문제 풀이 방법 이번 문제는 Math 메서드를 사용해서 풀어봤다. 우선 sqrt()를 이용했지만 이 메서드는 소숫점 8자리밖에 안나와 정확도가 떯어져서 첫번째 시도에서는 불통이 3개있었다. 이 부분은 ceil()을 사용해 해결했는데, 소수점 자리에 값이 있다면 +1이 되는 성질을 이용해 비교시 결과를 위해 사용해서 풀었다. 코드 function solution(n) { const num = Math..
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 사항 n은 10,000,000,000이하인 자연수입니다. 문제 풀이 방법 n은 number 타입으로 들어오기에 우선 String 타입으로 바꿔주고 펼침연산자를 이용해 배열에 할당해준다. 이후 reverse()를 이용해 뒤집어 주고 map()으로 각 요소를 parseInt()로 숫자화시켜준다. 코드 function solution(n) { const answer = [...`${n}`].reverse().map(e => parseInt(e)); return answer; }
우선 이 문제는 오늘 업로드된 문제로 나는 풀다가 도저히 안될거같아서 포기했다. 내가 생각한 방식은 배열을 join으로 문자열화 해주고 while문의 조건을 includes로 '1231'이 있으면 계속되게 했지만 시간 지연이 계속되었다. 프로그래머스에서 StarBlitz님의 풀이를 가져와 코드를 분석했다. 문제 설명 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히..