728x90
반응형

js 41

프로그래머스 - Level 1. 둘만의 암호/ JavaScript (js)

문제설명 문제분석 문자열 암호 문제입니다. 문자열 s의 각 요소를 index만큼 뒤의 알파벳으로 치환하여 리턴하면 됩니다. 다만 이때 skip에 포함된 알파벳은 (index 만큼)에 포함되지 않습니다. 가벼운 마음으로 풀어보겠습니다. 문자열 s의 각 요소를 skip에 포함되지 않은 뒤의 알파벳 중 index 만큼 건너간 알파벳으로 치환한다. 이해하기 쉽게 코드작성하기 function solution(s, skip, index) { // 모든 알파벳 중 skip에 포함된 알파벳 제외 const remainAlphabet = "abcdefghijklmnopqrstuvwxyz".split("").filter(x => !skip.includes(x)); // 문자열 s의 각 요소를 남은 알파벳 중 index 만..

프로그래머스 - Level 2. 모음 사전 / JavaScript (js)

문제설명 문제분석 지금까지 업로드한 코테 문제는 전부 완전 탐색 카테고리에 포함되어 있습니다. 그래서 당연히 이 문제도 완전 탐색일거라 생각했는데... 왠걸요. 이 문제는 일반항을 구할 수 있으면 훨씬 간단하게 풀 수 있는 문제입니다. 먼저 이 문제는 제한 조건이 있고, 일련의 규칙을 갖는다는 게 어렴풋이 느껴집니다. 그럼 뭐 별 수 있나요. 머리로 하든 손으로 하든 규칙을 찾기 위한 노가다 시작입니다. 먼저 가장 작은 경우부터 확인합니다. 맨 마지막(5번째) 자리의 모음의 인덱스가 커지려면 카운트가 1씩 늘어납니다. 그 다음은 4번째 자리의 모음의 인덱스가 커지는 경우입니다. 가장 마지막 자리의 모음 인덱스가 전부 존재하는 경우는 5가지이고, 존재하지 않는 경우 1가지를 더해 총 6가지가 존재합니다. ..

프로그래머스 - Level 1. 최소직사각형 / JavaScript (js)

문제설명 - 최소직사각형 문제분석 모든 명함에는 가로길이와 세로길이가 존재하며, 가로 또는 세로의 길이가 각각 가장 긴 명함의 변을 구해 가장 작은 지갑의 면적을 리턴하는 문제이다. 말이 조금 어려운 거 같아서 풀어보자면 다음과 같다. 모든 명함에는 가로길이와 세로길이가 있다. 일반적인 명한은 가로 길이가 더 길지만, 간혹 세로길이가 더 긴 명함도 존재한다. 세로길이가 더 긴 명함을 옆으로 돌려서(세로길이와 가로길이를 스왑해서) 보관할 수 있다. 위 모든 경우를 포함하는 동시에, 입력된 모든 크기의 명함을 보관할 수 있는 가장 작은 지갑을 만들어야 한다. 결과값은 명함의 가장 긴 가로길이 x 가장 긴 세로길이여야 한다. (이때 3번이 이미 적용된 상태여야 한다.) 문제를 단순화 했으니 이해하기 쉽게 코드..

[Javascript] 클래스의 요소와 메소드

지금까지 배우던 메소드는 결국 컨스트럭터를 가진 클래스의 함수이다. 클래스는, 일종의 템플릿인데 변수에 새로운 클래스를 할당받으면 클래스에 선언해둔 값을 사용할 수 있고 함수를 메소드처럼 적용할 수 있다. 당연히 Array()는 일종의 클래스이고, 그렇기에 배열을 선언하면 각종 메소드를 자유롭게 사용할 수 있다. 오늘은 이전에 작성해둔 메소드를 이용해 나만의 짭배열, Garray() 클래스를 만들어보았다 클래스 ( Class ) 클래스의 개념부터 시작하기에 앞서, 아래의 예시를 보자. 배열을 생성하는 Array()는 클래스이며, 클래스이기에 메소드를 추가하여 사용할 수 있다. Array.prototype.lalala = function() { console.log('lalala'); } let arr =..

JavaScript 2020.08.15

20200808

오늘은 나만의 배열클래스를 생성하는 데 성공하였다. 작성해둔 메소드를 포함하게 변경하고 있는데, 코드를 보지않고 다시 한 번 작성해보고 있다. 직접만드는 것이다 보니, 하나의 메소드를 작성해두고 다른 메소드를 만들 때 써먹기도 한다. 이렇게하니 너무 편해졌다. 아마 주말 중에 모든 메소드를 구현할 수 있지 않을까. 8월 08일 (토) Today I Learned 오늘은 두번째 주말이었다. 어제 너무 지쳤었는데, 자고 일어나니 그냥 감기였다. 의지가 꺾인 게 아니라서 얼마나 다행인지 모른다. 나만의 배열클래스를 생성하는 데 성공했다. Tomorrow I'll Learn 나만의 배열클래스에 메소드를 추가하고, 클래스 관련 내용을 정리

Today I Learned 2020.08.08

20200807

오늘은 몸이 축 쳐져서 힘들었다. 휴식이 필요한 상태라고 몸이 아우성치는 듯하다. 8월 07일 (금) Today I Learned 오늘은 클래스에 대해 공부하였다 클래스에 대해 학습하고 Array()를 만들어보려고 시도했으나, 예약어에게 덤빈 결과로 큰코다쳤다. 짭Array()를 만들기로 결정하였다. 주말 중에 클래스에 관련된 내용을 정리할 예정이다. 오늘 컨디션이 굉장히 안좋았다. 타이레놀을 아침, 점심, 저녁에 2알씩 먹었다. 휴식이 필요하다고 몸이 알려주는 것 같으니 이번 주말에는 휴식을 겸해야겠다. Tomorrow I'll Learn 리액트 클론코딩 다시해보기

Today I Learned 2020.08.07

[JavaScript] 문자열과 배열, 그리고 객체에서 유용한 각종 Method (2)

이 글은 전편에 이어 문자열과 배열, 그리고 객체에서 유용한 각종 메소드를 이해하기 쉽게 설명해 놓은 글이다. 당연히 부족한 부분이 더 많을 수 밖에 없기때문에 자세한 내용은 링크를 통해 확인하자. 특정 메소드보다 실제로 어떤 문제를 해결할 때 사용하는 방법부터 시작해서 각종 메소드까지 정리해보겠다! (2) 여기서 작성한 메소드는 다음과 같다. 여기에 없다면, 다음 포스트를 확인하자. // 배열의 요소를 추가하거나 삭제하는 메소드 push() / unshift() / pop() / shift() // 두 개의 배열을 하나의 배열로 합치기 concat() // 배열 자르기 slice() Array.push() / Array.unshift() / Array.pop() / Array.shift() 배열에 새로..

JavaScript 2020.08.03

20200728

페어 프로그래밍은 쉽지 않다는 걸 깨달았다...! 어제 페어 게임을 하면서 어렴풋이 느꼈던 다른 사람의 말을 온전히 이해한다는 것은 결단코 쉬운 일이 아니었다. 그렇지만, 서로 대화를 나누며 답을 찾아가는 과정에서 분명 조금이나마 커뮤니케이션 능력이 오른 거 같아 만족!! 7월 28일 (화) Today I Learned 오늘은 2일차로 가장 기본적인 조건문과 문자열에 대해 공부하였다 조건문과 문자열에 대해 학습하고 폴빈님과 페어 프로그래밍을 진행하였고, 관련 내용을 정리했다. Tomorrow I'll Learn 반복문에 대해 학습하고 폴빈님과 페어 프로그래밍을 진행하고, 관련 내용을 정리

Today I Learned 2020.07.28

[JavaScript] 조건문, 문자열

코딩 기초 중 로직의 시작을 알리는 조건문과 배열에 앞서 익히게 되는 문자열에 대해 학습했다. 조건문 자바스크립트의 조건문은 다른 언어와 비슷하다. if (condition) // condition은 항상 Boolean 값으로, 참/거짓 (True/False) 판별이 가능해야 한다. { statement; // condition을 만족하는 경우에만 내부의 statement가 동작한다. } 위에서 보다시피, 조건문은 참/거짓을 판별하는 condition을 포함하여야 하며 condition이 참(true)일 경우에만 내부의 statement가 동작한다. 이번에 JS에서 조건문을 다루던 중 재밌었던 점은 바로 NaN이라는 친구다. 이 친구는 Not-a-Number의 줄임말로, 표현할 수 없는 숫자이며 자기 자..

JavaScript 2020.07.28

[JavaScript] 변수, 함수, 타입

코드 스테이츠에서 처음으로 배우는 게 변수라서 좀 놀랐다! 아무래도 비전공이신 분들도 많을텐데 'Hello World'를 출력하지 않는 강의라니, 흥미롭다...! 참고로 'Hello World'는 크롭 개발자도구 - Console 탭에서 console.log('Hello World');를 입력하고 Enter를 치면 결과를 확인할 수 있다. 변수 변수의 선언과 할당은 아래와 같이 작성한다. let myName; // 선언 myName = 'Gray'; // 할당 다른 언어와 마찬가지로 당연히 함께 작성할 수도 있다. let myName = 'Gray'; // 변수 선언 및 할당 강의에는 포함되지 않지만 JavaScript에는 let말고 var과 const라는 선언방식도 있다. let number1 = 1;..

JavaScript 2020.07.27
728x90
반응형