The journey to becoming a developer

My future is created by what I do today, not tomorrow.

Total 357

[프로그래머스 Level 1] 핸드폰 번호 가리기 (자바스크립트)

Description 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. Constraints s는 길이 4 이상, 20이하인 문자열입니다. My Solution function solution(phone_number) { return '*'.repeat(phone_number.length - 4) + phone_number.slice(-4); } 휴대폰 번호 길이에서 4f를 뺀 만큼 *을 만들어주고, 휴대폰 번호에서 마지막 4자리를 추출하기 위해 slice(-4)를 사용한다. sli..

[프로그래머스 Level 1] 나머지가 1이 되는 수 찾기 (자바스크립트)

Description 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. Constraints 3 ≤ n ≤ 1,000,000 My Solution function solution(n) { for (let i = 2; i < n; i++) { if (n % i === 1) return i; } } for문의 초기값을 let i = 2로 지정하였다. 제한 조건에서 n은 3 이상이므로, 나누는 수(i)의 최솟값이 1이 될 순 없기 때문에 1이 아닌 2부터 시작하였다. Other's Solutions function solution(n) { let answer =..

[프로그래머스 Level 1] 가운데 글자 가져오기 (자바스크립트)

Description 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. Constraints s는 길이가 1 이상, 100이하인 스트링입니다. My Solutions (1) String에도 index를 활용할 수 있다는 것을 활용한 풀이 function solution(s) { return s.length % 2 ? s[Math.floor(s.length / 2)] : s[s.length / 2 - 1] + s[s.length / 2]; } 문자열은 유사 배열 객체이면서 이터러블이므로 배열과 유사하게 각 문자에 접근할 수 있다. 유사 배열 객체란, 마치 배열처럼 인덱스로 프로퍼티 값에 접근할 수 있고 length 프로퍼티를..

모두의 네트워크 1장 : 네트워크 첫걸음

오늘은 모두의 네트워크 10일 간의 여정의 첫 스타트이다. 처음부터 바로 어려운 내용에 돌입하지 않고 우선 아주 기초부터 알아본다. 목표는 네트워크, 패킷, LAN, WAN에 대해서 간단히라도 이해 하는 것이다. Lesson 0 웹 사이트는 어떤 원리로 사용자에게 보이게 될까? 이것도 결국 다양한 네트워크 기술 덕분이다 네트워크를 알면 웹 사이트에 문제가 생겨 접속이 되지 않더라도, 원인이 무엇이고 어디에서 문제가 발생했는지 스스로 찾아낼 수 있다. 네트워크와 관련된 문제가 발생했을 때 그 원인이 무엇인지 파악하는 것은 문제 해결하는 데 매우 중요하다. 네트워크는 다양한 기능이 결합되어 있는데, 그 기능은 여러 계층(레이어) 형태로 구성되어 있다. 그 계층 구조를 이해하면 문제가 발생한 원인이 네트워크의..

모두의 네트워크 시작

My story 프로그래밍과 개발을 하기 위해서 컴퓨터 사이언스 지식을 갖추는 것이 중요한데, 그중에서도 네트워크에 대해서 제대로 아는 것이 필수적이라고 느꼈다. 그런데 개발 공부를 막 시작할 때쯤, 정보처리기사 공부를 하면서 네트워크라는 것이 너무 막연하고 와닿지 않는 어려운 것이라고 생각했다. 그런데 마침 알고리즘 스터디를 같이 하시는 분이 라는 책을 추천해 주셨고, 이 책이 쉽다고 해서 흥미가 갔다. 책 소개와 목차를 보니 바로 이 책으로 네트워크를 공부하고 싶어졌다. 책 표지에 네트워크를 전혀 몰라도 괜찮다는 문구가 나를 사로잡았고, 총 10챕터로 구성되어 있기 때문에 10일 안에 하루에 한 챕터씩만 잘 소화한다면 네트워크에 대해 깊게는 아니더라도 전반적인 틀은 이해할 수 있겠다는 기대감이 들었다..

JavaScript Number

책 를 바탕으로 정리한 내용입니다. 요즘 알고리즘 스터디를 매일 하고 있다. 오늘 스터디 멤버분이 알고리즘 풀이에서 Number.MIN_SAFE_INTEGER를 사용해서 문제를 해결하는 것을 보고 Number에 대해서 좀더 알아보고, 활용할 수 있어야겠다 싶었다. Deep Dive 책을 보니 상세하게 설명되어 있었다. 아직 익숙하지 않은 프로퍼티와 메서드들은 앞으로 차차 알고리즘을 더 풀어 나가면서 익숙하게 만들 것이다. 1. Number 생성자 함수 자바스크립트에서 Number는 표준 빌트인 객체(standard built-in object)이다. Number는 원시 타입인 숫자를 다룰 때 유용한 프로퍼티와 메서드를 제공한다. 또한 Number 객체는 생성자 함수 객체이기 때문에 new 연산자와 함께 ..

[프로그래머스 Level 1] 나누어 떨어지는 숫자 배열 (자바스크립트)

Description array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. Constraints arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. My Solution (1) filter 사용 function solution(arr, divisor) { const newarr = arr.filter(v => v % divisor === 0); return newarr.length === 0 ..

[프로그래머스 Level 1] 두 정수 사이의 합 (자바스크립트)

Description 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. Constraints a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. My Solution function solution(a, b) { let sum = 0; if (a