반응형
반응형
원시값과 객체? 자바스크립트에는 7가지 데이터 타입이 존재하는데 크게 원시타입 과 객체 타입으로 구분할수있다. 원시타입 변경 불가능한 값 즉 읽기 전용 값 이다. 변수에 실제값이 저장된다. 객체타입 변경 가능한 값 변수에 참조값이 저장된다. 원시값 원시값같은경우는 변경불가능한 값이기때문에 변수값을 재할당하게되면 변수는 새로운 메모리 공간을 확보하고 재할당한 값을 저장한뒤 변수가 참조하던 메모리 공간의 주소를 변경한다. 이런 값의 특성을 불변성 이라고한다. 문자 원시값을 저장하려면 먼저 확보해야하는 메모리 크기를 결정해야되는데 원시 값인 문자열은 1개의 문자는 2바이트의 메모리 공간을 갖고 몇개의 문자로 이뤄진 문자열인지에 따라 메모리 공간이 결정된다. 자바스크립트의 문자열은 원시 타입이며 변경불가능하다 ..
최소 직사각형 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함번호 가로 길이 세로길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습..
시저암호 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 입출력 예 s n answer "AB" 1 "BC" "z" 1 "a" "a B z" 4 "e F d" 나의 풀이 function solution(s, n) { let ciphe..
2016년 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE" 내풀이 function solution(a, b) { const dayArray = ["SUN","MON","TUE..
문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..
객체 리터럴 자바스크립트는 객체 기반형 프로그래밍 언어이다. 객체 는 0개 이상의 프로퍼티와 메서드로 구성된 집합 이며 프로퍼티 는 객체의 상태를 나타내는 값 이라 하고 키와 값으로 구성된다. 객체 리터럴에 의한 객체 생성 c++이나 자바 같은 클래스 기반 객체 지향 언어는 클래스를 사전에 정의하고 new 연산자와 함께 생성자를 호출해서 인스턴스를 생성하는 방식으로 객체를 생성하지만, 자바스크립트는 프로토타입 기반 객체지향 언어이기때문에 다양한 객체 생성 방법을 지원한다. 객체 리터럴 자바스크립트에서는 일반적으로는 객체 리터럴을 사용해서 객체를 생성하게된다. 객체 리터럴은 중괄호({...}) 사용해 객체 생성을 한다. // 객체 리터럴을 사용해서 객체 생성 let person = { name: '..