문제 1: 숫자의 각 자리수를 거꾸로 나열하기문제 설명:양의 정수 n이 주어졌을 때, n의 각 자리수를 재귀를 사용하여 거꾸로 나열한 값을 반환하는 함수를 작성하세요.예시 입/출력:- 입력: `n = 12345`- 출력: `54321`설명:정수 12345를 재귀적으로 처리하여 54321이 반환됩니다.제한 사항:- n은 1 이상 1,000,000 이하의 자연수입니다.solutiondef sol(n): if n 문제 2: 이진수를 십진수로 변환하기문제 설명:이진수로 표현된 문자열이 주어졌을 때, 해당 이진수를 재귀를 사용하여 십진수로 변환하는 함수를 작성하세요.예시 입/출력:- 입력: `binary_str = "1101"`- 출력: `13`설명:이진수 1101은 십진수로 변환하면 13이 됩니다.sol..
JS의 변수 생성 과정자바스크립트 엔진은 변수 선언을 다음과 같은 단계에 거쳐 수행한다.1. 선언 (실행 컨텍스트에 등록하여 자바스크립트 엔진에 변수의 존재를 알린다) => 스코프가 참조2. 초기화 (메모리에 공간 확보, undefined를 할당하여 초기화)3. 할당 (실제 값 할당) 실행 컨텍스트실행 컨텍스트는 코드가 실행되기 위해 필요한 환경. - 모든 JavaScript 코드는 실행 컨텍스트에서 실행되며, 실행 컨텍스트는 코드 실행에 필요한 환경 정보를 제공한다.- 자바스크립트 엔진은 실행 컨텍스트를 관리하며 선언된 코드가 등록됨.- 실행 컨텍스트는 코드가 실행되기 전 메모리에 변수를 할당하고 실행할 준비를 마친다. JS 엔진은 코드를 실행하기 전 코드를 형상화하고 구분하는 과정을 거친다.즉, 자..
Promise비동기 작업을 순차적으로 실행하기 위하여 사용되는 객체 그러나 단지 callback함수 대신 보기 쉽게 만들어주는 것. 실행되지 않았지만 결과를 받는 처리(약속) - 상태: 3가지 1. Pending (대기) 2. Fulfilled (완료) 3. Rejected (실패) - then, catch, finally 3가지 메서드를 가진다.then : promise 객체가 fulfilled 상태가 되면 실행할 콜백함수를 등록하는 메서드catch : promise객체가 rejected 상태가 되면 콜백함수를 등록하는 메서드finally : 어떤 작업의 성공, 실패 여부와 상관없이 항상 실행하고 싶은 콜백함수를 등록 new Promisenew Promise 란 ? - promise 객체를 직접 생성할..
목차질문실전 문제질문1. 스택을 이용하여 주어진 문자열을 뒤집는 알고리즘을 설계하고 구현해 보세요.이 알고리즘의 시간 복잡도와 공간 복잡도는 각각 어떻게 되나요? 스택을 사용하지 않고도 문자열을 뒤집을 수 있는 다른 방법을 설명해 보세요.- **stack 을 이용한 방법** : 주어진 문자열을 스택에 넣고, 스택에 넣은 문자열을 다시 꺼내면서 새로운 문자열을 만든다. - 시간복잡도 : 문자열의 각 문자를 한 번씩 처리하므로,m n은 문자열의 길이. - 공간복잡도 : 스택에 모든 문자를 저장하므로 O(n)의 공간 필요- **그 외 방법** : reversed 함수를 이용한다 (추후 .join()으로 각 문자열 연결 필요)2. 스택이 재귀적인 함수 호출과 어떻게 관련이 있는지 설명해 보세요.재..
스택스택의 어원은 'stack' , '쌓는다' 이다. 스택은 어원에서 짐작할 수 있듯이 먼저 입력한 데이터를 가장 나중에 꺼낼 수 있는 자료구조 이다. 이때 스택에 삽입하는 연산을 푸시 push , 꺼내는 연산을 팝 pop 이라고 한다. ADT : acstract data type추상 자료형이란 인터페이스만 있고 실제로 구현은 되지 않은 자료형이다. 일종의 자료형의 설계도. 그렇다면 스택은 어떤 정의가 필요한 자료구조일까? 언어에 따라 표준 라이브러이에서 스택 제공 여부는 다르다. 파이썬의 경우 스택을 제공하진 않지만 대안으로 리스트 메서드인 'append():가장 마지막에 원소를 넣음' 로 스택을 대체할 수 있다. 덱(deque)은 한쪽으로만 데이터 삽입, 삭제할 수 있는 스택과 다르게 양쪽에서 데이..