분류 전체보기

최대공약수와 최소공배수 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예nmreturn 3 12 [3, 12] 2 5 [1, 10] 입출력 예 설명 입출력 예 #1 위의 설명과 같습니다. 입출력 예 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. 나의 풀이 function solution(n, m) { var answe..
자바스크립트는 상황에 따라 데이터가 인식한 문자 또는 숫자의 데이터형을 변경해야 할 경우 데이터 형변환을 시켜줘야 합니다. 이러한 데이터 형변환의 종류로는 명시적 변환, 암시적 변환이 있습니다. 명시적 형변환은 개발자가 직접 어떤 형으로 바꿀지 명시해주는 것입니다. 예를들면 문자열 "123" 이라는 문자를 숫자로 바꾸고 싶을때 Number("123") 으로 쓰는것 처럼 말이죠 . 명시적 형변환은 개발자가 직접 바꾸고 싶은 타입으로 바꾸기 때문에 우리의 의도대로 데이터의 타입을 결정할 수 있습니다. 하지만 자바스크립트에서는 이렇게 개발자가 직접 타입을 바꾸는 것이 아닌 자동으로 데이터의 형태를 바꿀수도 있습니다. 이를 암묵적 형변환 이라고 합니다. 내가 깜빡하고 데이터를 변환하지 않은 것을 자동으로 인식해..
문제 직사각형 별찍기 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 나의 풀이 process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { const n = data.split(" "); const a = Number(n[0]), b = Number(n[1]); let str = ''; for(let i = 0 ; i
문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예sreturn "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 나의 풀이 function solution(s) { var answer = ''; let arr = s.split(" "); let min = Math.min(...arr); let max = M..
스코프란? 변수 접근 규칙에 따른 유효 범위 ( 안쪽 스코프에서는 바깥쪽 스코프로 접근 가능 , 하지만 반대는 불가능 ) 스코프는 보통 중괄호(블록) 이나 함수로 스코프를 나눕니다. 위의 예제처럼 스코프는 블록스코프, 함수스코프로 나눌 수 있습니다. 바깥쪽에서 선언된 변수는 안쪽에서 사용할 수 있지만 안쪽에서 선언된 변수는 바깥쪽에서 사용할 수 없습니다. 스코프 규칙 1. 스코프는 중첩이 가능합니다. 가장 바깥에 선언된 a 는 모든 스코프에서 사용가능하지만 scope 1에서는 안쪽 스코프의 변수를 접근할 수 없습니다. 여기서 가장 바깥 스코프 scope1 은 전역 스코프라고 부르고 나머지는 지역 스코프라고 부릅니다. 전역 변수 지역 변수라는 말을 많이 들어보였을 겁니다. 전역 스코프 내에 선언된 변수는 ..
오늘은 원시 자료형과 참조자료형에 대해 공부하고 얕은 복사와 깊은 복사에 대해 공부했다. 예전 전공 수업 중 프로그래밍언어론 이라는 과목에서 언어들의 원리와 동작에 대해 배웠었다. 그 과목을 수강할 시절에는 정말 어려워서 공부하기 힘들었는데 그 덕분에 오늘 학습한 부분은 수월하게 이해하고 넘어갈 수 있었던 거 같다. 그럼 오늘 공부한 원시 자료형과 참조 자료형, 얕은 복사 깊은 복사에 대해 정리해보러 가보자 ! 원시 자료형과 참조 자료형 원시 자료형은 대표적으로 ( number , string , boolean , null , undefined , symbol ) 총 6가지가 있으며 고정된 저장 공간을 차지하는 자료형 입니다. 참조 자료형은 이를 제외한 ( object , function ) 등 원시 자..
join()이란? 배열의 모든 요소를 연결해 하나의 문자열로 만드는 것 arr.join([separator]) 매개변수로 separator는 배열의 각 요소를 구분할 문자열을 지정할 수 있습니다. separator는 생략할 수 있고 생략하게 된다면 배열의 요소들이 쉼표로 구분됩니다. separator가 빈 문자열이면 모든 요소들 사이에 아무 문자도 없이 연결됩니다. 반환값으로는 배열의 모든 요소들을 연결한 하나의 문자열을 반환합니다. 만약 arr.length 가 0이라면, 빈 문자열을 반환합니다. 그럼 예시를 보면서 join의 사용법에 대해 익혀봅시다 ! var a = ['바람', '비', '불']; var myVar1 = a.join(); // myVar1에 '바람,비,불'을 대입 var myVar2 ..
오늘은 배열을 공부하면서 자주 등장하는 slice()에 대해 알아보겠습니다. slice() 란? slice() 메서드는 어떤 배열의 begin 부터 end 까지(end 미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다. 원본 배열은 바뀌지 않습니다 여기서 중요한 점은 복사본으로 새로운 배열 객체로 반환하고 원본 배열은 바뀌지 않는다는 점입니다 ! 배열의 맨 뒤에 원소를 추가하거나 제거하는 push() ,pop() 배열의 맨 앞에 원소를 추가하거나 제거하는 unshift(), shift() 위의 4가지 메서드는 원본 배열을 바꾸면서 배열을 수정합니다. 따라서 원본 배열을 수정하지 않고 배열을 만들기 위해선 slice()가 필요합니다!! slice()의 사용법 arr.slice([begin[, e..
오늘 배열에 대해 공부하면서 for of 문을 처음 접해보았다. for문은 다들 많이 들어보셨겠지만 for of문은 생소하신 분들이 많을 것이다. 그럼 바로 for of 문에 대해 알아보자 ! for...of 문은 반복 가능한 객체에서 가져온 일련의 값에 대해 작동하는 루프를 실행합니다. 이 오브젝트는 Array, String, TypedArray, Map, Set, NodeList(및 기타 DOM 컬렉션)와 같은 내장된 인스턴스뿐만 아니라 인수 오브젝트, 생성자 함수에 의해 생성된 생성자 및 사용자 정의 반복 가능한 객체를 포함한다. 즉 for of 문은 배열 안의 요소를 다룰 때 사용된다! 예시를 들어보면 수로 이루어진 배열에서 짝수로만 이루어진 배열을 다시 생성해야 한다면 ? function get..
배만춘
'분류 전체보기' 카테고리의 글 목록 (13 Page)