본문 바로가기

프로그래밍48

[JS] Hosting 호이스팅이란? / 프로그래머스 구명보트 예시 문제 풀이 🌟 호이스팅(Hosting)이란? [참고] JavaScript의 Hoisting은 인터프리터가 코드를 실행하기 전에 함수, 변수 또는 클래스의 선언을 해당 범위의 맨 위로 이동하는 것처럼 보이는 프로세스를 나타낸다. 호이스팅 : 코드에 선언된 변수 및 함수를 유효한 범위의 코드 상단으로 끌어올리는 작업 - var의 변수, 함수의 선언만 위로 올려지고, 할당은 올려지지 않는다. - let, const 변수 선언과 함수 표현식에서는 호이스팅 발생 x => 위 내용만 알아도 된다. 호이스팅은 다른 방식에서 종종 var 선언의 특징 중 하나라고 여겨지지만, 아래와 같은 동작은 호이스팅으로 간주될 수 있다. 1. 변수가 선언되기 전에 해당 범위에서 변수의 값을 사용할 수 있다 ("값 호이스팅") 2. Refere.. 2023. 1. 27.
[JS] JavaScript에서 Number, 문자열 진법 자유롭게 변환하기 / 3진법 뒤집기 처음 '해당 숫자를 0진수로 변환해라'를 보면 당황스러울텐데 아주 간단하게 바꿔주는 메서드가 있다. 해당 숫자에 .toString(바꾸고 싶은 진수) 해주면 된다. ▶ Number.prototype.toString() toString() toString(radix) : toString() 메서드는 지정된 숫자 값을 나타내는 문자열을 반환한다. - 16진수부터 9보다 큰 숫자를 나타내기 위해 a~f 알파벳 문자가 사용된다. - 지정된 숫자 값이 음수이면 부호가 유지된다. - 숫자가 정수가 아닌 경우 소수점(decimal point, .)을 사용하여 소수점을 구분하고, 기수가 10이고 숫자의 크기가 10**21 보다 크거나 같거나 10**-6 보다 작은 경우 과학적 표기법(Scientific notation.. 2023. 1. 25.
[인공지능(AI) 기초 다지기] Pythonic Code 파이썬다운 코드를 작성해보자! - list comprehension, enumerate, zip, lambda, generator, asterisk(*) .. 🐍 파이썬 스타일 코드 Pythonic Code란? - 파이썬 특유의 문법을 활용하여 효율적으로 표현한 코드. 📝 Contents - split & join - list comprehension - enumerate & zip - lambda & map & reduce - generator - asterisk list comprehension - 기존 List 사용하여 간단히 다른 List를 만드는 기법 - 포괄적인 List, 포함되는 리스트라는 의미로 사용됨 - 파이썬에서 가장 많이 사용되는 기법 중 하나 - 일반적으로 for + append 보다 속도가 빠름 list comprehension을 사용하면 반복문 안에 반복문을 길게 써주지 않고 한줄에 중첩 반복문도 쓸 수 있고, 조건을 함께 써줄 수 있.. 2023. 1. 23.
[JS] reduce index와 함께 효과적으로 쓰기 / 최솟값 만들기 풀이 예시 / ?? 논리 연산자 [프로그래머스] 최솟값 만들기 문제 예시 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 :.. 2023. 1. 22.
[Js] Array에서 순서 변경하지 않고 특정 값 삭제하기 🧚🏻‍♀️ / 제일 작은 수 제거하기 [프로그래머스] 제일 작은 수 제거하기 문제 예시 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] 위 문제에서 array 순서를 바꿔준 채로(sort) 제일 작은 수를 제거하고 return 하면 테스트 케이스 모두 실패가 나온다. 기본 array 순서는 지키면서.. 2023. 1. 21.
[인공지능(AI) 기초 다지기] Python 자료 구조(Data Structure) : Stack & Queue, Dict, Collections 🐍 Python의 자료 구조(Data Structure) 기본 데이터 구조 - 스택과 큐(stack & queue with list) - 튜플과 집합(tuple & set) tuple : 값의 변경이 불가능한 리스트, 선언 시 []가 아닌 ()를 사용. 리스트의 연산, 인덱싱, 슬라이싱 등을 동일하게 사용. set : 값을 순서 없이 저장, 중복 불허하는 자료형, set 객체 선언을 이용하여 객체 생성. 다양한 집합 연산 사용 가능 (union_합집합, intersection_교집합, difference_차집합) - 사전(dictionary) : 데이터를 저장할 때는 구분 지을 수 있는 값을 함께 저장, 구분을 위한 데이터 고유 값을 Identifier(식별자) 또는 Key라고 함. Key 값을 활용해 .. 2023. 1. 19.