본문 바로가기

728x90

전체 글

(52)
ES6 자주 사용하는 문법 정리 단축 속성명(Shorthand property names) 객체의 속성값이 변수로 할당되어 있다면, 변수 이름만 적을 수 있다. let a = "foo", b = 42, c = {} // 객체의 속성값이 변수로 할당되어 있다면, let object = {a: a, b: b, c: c}; let es6 = { a, b, c }; // 변수 이름만 적을 수 있다. console.log(object.a === es6.a); // true 중복된 속성명(Duplicate property names) ECMAScript 5 엄격 모드 코드에서, 중복된 속성명은 SyntaxError로 간주됐습니다. 런타임에 중복을 가능케 하는 속성 계산명 도입으로, ECMAScript 2015는 이 제한을 제거했습니다. var a..
[페이지교체알고리즘] 자리를 양보해가며! 문제 라이캣과 자바독이 배에 타고 보니 좌석이 3개밖에 없었습니다. 가장 먼저 탄 사람이 당연히 앉아야지! 아니, 가장 키가 큰 사람이 앉아야지! 아니, 가장 덩치가 큰 사람이 앉아야지! 사람들이 수근 거릴 때, 개리가 말했습니다. 모두 알고리즘 보물을 찾으러 가는 것이 아닌가!? 개굴! 그러니 모두 알고리즘 문제로 승부를 봅시다. 개굴! 그때 라이캣이 손을 들었습니다. 주목해주냥! 내게 좋은 아이디어가 있다냥! 다리가 아픈 동물들이 순서대로 들어온다. 동물들의 종류는 다음과 같다. : 무척추동물, 척추동물, 어류, 양서류, 파충류, 조류, 포유류 동물들의 '종'이 같을 경우 무릎에 앉을 수 있다. 다 회복된 동물들은 언제든지 빠질 수 있다. 무릎에 앉을 경우 1초로 카운트 한다! 아무도 없거나, 자리가..
[시간연산] 섬으로 가라! 문제 라이캣은 동료가 된 자바독과 함께 섬으로 향했습니다. 항구에서 배를 기다리는데 배에 탈 수 있는 사람의 수는 시간마다 다르다는 사실을 알게 되었습니다. 한 배에는 탈 수 있는 인원이 정시에는 25명, 10분마다 15명씩 탈 수 있습니다. 배는 매일 9시부터 21시 전까지(21시를 포함하지 않습니다) 10분단위로 들어옵니다. 전체 대기 인원은 14,000,605명입니다. 우리는 14,000,606번째와 14,000,607번째에 배를 타게 됩니다. 앞사람이 아프거나, 대기를 못하고 빠질 경우 대기인원이 줄어들 수도 있습니다. 라이캣과 자바독이 다른 배를 타야 할 경우에는 뒷배를 타야 합니다. 1월은 1024일, 2월은 512일, 3월은 256일, 4월은 128일, 5월은 64일, 6월은 32일, 7월은..
JAVA독과 함께! 문제 저기 징검다리가 보이지? 내 친구들이 징검다리를 건널거야! 하지만 징검다리는 버틸수 있는 내구도가 한계가 있지! 내 친구들의 몸무게, 돌의 내구도, 친구들의 점프력을 고려하여 내 친구 루비독, 피치피독, 씨-독, 코볼독이 각각 다리를 건널 수 있는지 알아봐줘! 친구들은 더 추가 될 수도, 덜 건널 수도 있어! 각 돌들이 얼마나 버틸수 있는지 배열로 주어집니다. (내구도 0까지는 독의 몸무게를 버틸 수 있습니다. 0미만이 되면 독은 살아남지 못합니다.) 각 독들의 개인정보가 JSON(JSON은 큰 따옴표로 묶여야 합니다. 가능하다면 json을 import하여 풀어보세요!)으로 주어집니다. 개인정보는 보호되지 않습니다. 각 돌에 독들이 착지할 때 돌의 내구도는 몸무게만큼 줄어듭니다. ex) [1,2,1..
ES5 자주 사용하는 문법 정리 Array.isArray() Array.isArray() 메서드는 인자가 Array인지 판별합니다. Array.isArray([1, 2, 3]); // true Array.isArray(Array.prototype); // true Array.prototype은 스스로도 배열입니다 Array.isArray({foo: 123}); // false Array.isArray('foobar'); // false Array.isArray(undefined); // false // instanceof vs isArray // Array 객체를 판별할 때, Array.isArray는 iframe을 통해서도 작동하기 때문에 instanceof 보다 적합합니다. // 아래 코드를 실행하면 지원하지 않는 환경에서도 Arr..
숙련된 프로그래머가 되는 방법 프로그래밍의 첫 걸음은 프로그래밍 언어의 문법을 모두 아는 것이고, 두번째는 남이 잘 만들어놓은 코드를 보고 이해한 후 모방하는 것입니다. 잘 만들어진 구문, 함수 구조, 변수 이름들을 외우고 있다가 내가 프로그래밍 짤 때 꺼내어 쓰면 됩니다. 숙련된 프로그래머는 빠른 시간 내에 머릿 속에서 꺼내서 작성 할 것이고, 보통의 프로그래머는 구글에서 검색한 후 한 줄씩 짜게 됩니다. 연습이 안된 프로그래머는 구글에서 무엇을 어떻게 검색할지도 막막합니다. 같은 언어로 같은 종류의 프로그램을 많이 작성하면 숙련도가 계속 올라가겠지요. - 2022.04 개발 3년차에 내가 신입으로 면접봤던 곳 중 탈락한 곳에서 받은 피드백이다. 준비가 덜 된 상태에서 무턱대고 면접을 보러 갔던 것 같은데, 위 글귀와 함께 공부하면..
[En-Coding,이진연산] 암호를 해독하라! 문제 모든 알고리즘을 해독할 수 있는 알고리즘 7 원석를 보유한 알고리즘 제왕 파이와 썬은 죽기 전, 이 보물에 '암호'를 걸어 세계 어딘가에 묻어놨다고 공표하였다. 그가 남긴 문자는 아래와 같다. 섬으로 향하라! ' + -- + - + - ' ' + --- + - + ' ' + -- + - + - ' ' + - + - + - + ' 해(**1**)와 달(**0**), Code의 세상 안으로!(**En-Coding**) **출력조건 : 문자열** 개념 - En-Coding : 코드화,암호화, 부호화를 의미한다. 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정을 통틀어 일컫는다. - 아스키코드 ASCII(American Standard Code for ..

728x90