분류 전체보기
하샤드 수 (연습문제 Lv1 / JS)
https://programmers.co.kr/learn/courses/30/lessons/12947?language=javascript 문제 하샤드 수는, 각 자리의 숫자를 개별로 더한 뒤 기존 숫자를 나누어 떨어지면 true 그렇지 않으면 false를 출력합니다. 코드 function solution(x) { return !(x % String(x).split('').reduce((a, b)=> Number(a) + Number(b))) } 1. ! 를 붙이면 빠르게 boolean 값을 출력할 수 있습니다. 2. String과 split("")를 사용하여 각 자리의 숫자를 나누었습니다. 3. reduce로 각 배열의 숫자를 더해주지만, 배열의 요소들은 string 형태임으로 Number로 다시 바꿔주..
평균 구하기 (연습문제 Lv1 / JS)
https://programmers.co.kr/learn/courses/30/lessons/12944?language=javascript. 문제해석 문제내용 그대로, 배열에 값들의 평균을 구하는 문제 입니다. 코드 function solution(arr) { var answer = 0; arr.map((v)=>{ answer += v }) return answer / arr.length; } 굉장히 쉬운 문제여서 게시글 작성을 생략하려 했지만 위에 코드처럼 작성을 하였는데, 아래코드처럼 reduce를 생각을 못하였기에 오답 노트 느낌으로 작성을 하였습니다. function average(array){ return array.reduce((a, b) => a + b) / array.length; }
x만큼 간격이 있는 n개의 숫자 (연습문제 Lv1 / JS)
https://programmers.co.kr/learn/courses/30/lessons/12954?language=javascript. 문제해석 x값의 배수를 n번 만큼 배열에 대입하는 문제입니다. Lv1 인만큼 쉬운문제이지만 다양한 풀이가 있고 그 다양한 풀이에서 배울점은 정말 많은 것 같습니다. 코드 function solution(x, n) { var answer = []; for (let i = 1; i (i + 1) * v) } 또 아래 코드는 Array를 통해 n의 수만큼 Spread 문법으로 null 값으로 채워 넣게 되고 keys 매서드를 사용하면 null이 0부터 차례대로 자연수가 채워지게 됩니다. 여기서 map을 사용하여 각각의 값을 곱해주게 됩니다. [null, null, null..
핸드폰 번호 가리기 (연습문제 Lv1 / JS)
https://programmers.co.kr/learn/courses/30/lessons/12948 문제해석 전화번호가 있으면 뒷 4자리 빼고 전부 *로 표시하는 문제입니다. 코드 slice로 뒷 4자리를 잘라내고, repeat 매서드를 활용하여 길이만큼 *을 반복시켜주었습니다. function solution(phone_number) { let answer = ''; let num = phone_number.length answer = '*'.repeat(num-4) + phone_number.slice(-4) return answer; } 다른사람 풀이에 정규식 방법도 있었습니다. 확실히 코드가 많이 간결합니다. function solution(phone_number) { return phone_n..
행렬의 덧셈 (연습문제 Lv1 /JS)
연습문제 > 행렬의 덧셈 Lv1 https://programmers.co.kr/learn/courses/30/lessons/12950?language=javascript 문제정리 2개의 배열이 2차 행렬로 존재하고, 같은 길이의 배열 같은 위치의 숫자끼리 더하는 문제입니다. 솔직히 크게 어렵지 않은 문제이지만 별거 아니지만 다른 방법을 알게되었습니다. 평소 제 방식은 변수 배열을 하나 지정해서 그 변수 배열에 값을 넣고 그 배열을 answer에 또 넣는 방식을 주로 사용해 왔었는데 아래 코드에서는 우선 빈 배열을 넣고 그 배열에 값을 넣는 방식입니다. 개인적인 생각에는 전자는 코드 변경이 쉽고, 후자는 코드가 깔끔해지는 장점이 있는 것 같습니다. 코드 function solution(arr1, arr2)..
직사각형 별찍기 (연습문제 Lv1 / JS)
연습문제 > 직사각형 별찍기 Lv1 https://programmers.co.kr/learn/courses/30/lessons/12969?language=javascript 문제 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어지고 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력하는 문제입니다. 쉽게 말해 입력값의 숫자로 n* m 크기의 '*' 로만 이루어진 직사각형을 String으로 출력하는 문제입니다. 코드 입력 된 숫자 만큼 별을 출력하면 되는 문제입니다. split으로 숫자를 각각 나눠주어 숫자를 a, b로 출력해주고 a, b 만큼 반복해서 가로 세로 *을 출력해주는 방식이기 때문에 repeat 메서드를 활용해 주었습니다. process.stdin.set..
프레임워크(Framework)와 라이브러리(Library) 정의
프레임워크와 라이브러리 단어를 사용하면서, 내가 정말 알고 사용하는가에 의문이 많이 들었습니다. 엄연히 다른 단어이고 다른 뜻일텐데 혼용해서 사용하는게 아닌지 싶어 정리를 시작했습니다. 프레임워크 (Framework) - 사전적 의미 컴퓨터 프로그래밍에서, 소프트웨어 프레임워크(software framework)는 복잡한 문제를 해결하거나 서술하는 데 사용되는 기본 개념 구조이다. 간단히 뼈대, 골조(骨組), 프레임워크(framework)라고도 한다. 소프트웨어 환경에서 사용할 수 있게 만들어 준다. 프레임워크는 프로그램을 개발하기 위한 큰 틀을 제공해준다고 생각합니다. ex) Java - Spring, Python - Django 라이브러리 (Library) - 사전적 의미 소프트웨어 개발 시 사용되는..
[AWS] EC2 배포 및 생성
EC2는 컴퓨터를 한 대 빌리는 것이므로 컴퓨터로 할 수 있는 모든 일을 할 수 있습니다. 빌린 컴퓨터는 직접 사용하는 컴퓨터와 다르게 아마존이 전 세계에 만들어 놓은 데이터 센터(인프라)에 만들어져 있기 때문에 컴퓨터를 조작하기 위해 네트워크(인터넷)를 통해서 컴퓨터를 제어해야 한다는 차이점이 있을 뿐 일반적인 컴퓨터와 다른 점은 없습니다. 아마존 EC2를 통해서 할 수 있는 가장 기본적인 일은 웹서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는 것이 가장 기본적인 사용방법입니다. 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 합니다. 1. 보안 그룹 만들기 네트워크 및 보안 > 보안 그룹 > 보안 그룹생성 을 ..
[AWS] EC2 ubuntu 시간 변경
배포를 하고, 특정시간에 데이터를 받아오게 설정이 되어있는데, 설정한 시간에 데이터가 들어오지 않고 다른시간대에 시간이 들어와 의아했습니다. EC2 생성을 ap-northeast-2(서울)로 하였기 때문에 당연히 해당 서버도 서울 시간과 같을 줄 알았으나 그렇지 않았습니다. 변경방법은 아래와 같습니다. 1. date 명령어를 사용하여 시간이 어떻게 설정되어있는지 확인을 합니다. date 2. timedatectl list-timezones | grep Seoul 명령어를 사용하여 서울 시간이 있는지 확인해 봅니다. timedatectl list-timezones | grep Seoul 3. sudo timedatectl set-timezone Asia/Seoul 명령어를 사용하여 시간을 변경 시켜줍니다...
체육복 (탐욕법 Lv1/JS)
코딩테스트 연습 > 탐욕법 > 체육복 Lv1 https://programmers.co.kr/learn/courses/30/lessons/42862?language=javascript 문제정리 n은 반 인원수 lost는 체육복 잃어버린 학생 번호 reserve 체육복 여벌 있는 학생 번호 프로그래머스 코드실행하여 2개 예제는 통과하기는 쉽지만 제출후 채점하기에서 모든 예제에 통과하는게 생각보다 까다롭다. 모두 통과하기 위해서는 잃어버린 학생의 번호에서 -1, +1 이 존재해야하고, 다른 잃어버린 학생과 겹치면 안되어야 한다. 이러한 조건을 세세하게 만족 시켜줘야 모두 통과할 수 있다. 레벨1 문제 치곤 좀 까다로웠다. 간혹 다른사람이 푼 코드에서 짧고 간결하게 쓴 코드들이 있는데 대부분 모두 통과하지 못하..