목록Study (114)
Jieunny의 블로그

📌 문제 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁..
📣 함수형 프로그래밍이란? ✔️ 함수형 프로그래밍 : 순수 함수와 선언형 프로그래밍의 토대 위에 '함수 조합' 과 '모나드 조합'으로 코드를 설계하고 구현하는 기법 ➰ 함수형 프로그래밍 언어는 정적 타입, 타입 추론 등에 기반을 둔 고차 타입, 패턴 매친 등의 고급 기능을 제공한다. 📣 제네릭 함수 ✔️ number 와 같은 타입을 타입 변수 T로 표기할 때 이를 '제네릭 타입' 이라고 한다. ➰ 함수 조합을 구현할 때는 제네릭 함수 구문을 사용해야 한다. 📍 타입스크립트의 제네릭 함수 구문 function g1(a: T): void {} ➰ 제네릭 타입으로 함수를 정의하면 어떤 타입에도 대응할 수 있다. ➰ g1 함수는 a 매개변수가 제네릭 타입으로 지정되었다. type Type1Func = (T) =..
📌 문제 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 💡 아이디어 - 스택에 s 넣으면서 ()이면 pop으로 빼주고, 마지막에 스택이 비어있으면 true -> 테스트케이스 통과, 효율성 문..
📣 비동기 콜백 함수 📍 동기와 비동기 API ➰ 노드제이에스는 파일 시스템과 관련된 기능을 모아둔 fs패키지를 제공한다. ➰ 같은 기능을 동기와 비동기 버전으로 나누어 제공한다. ➰ 이름에 Sync가 붙은 것이 동기 버전이다. import {readFileSync, readFile} from 'fs' // 동기 방식으로 읽는 예 const buffer: Buffer = readFileSync('./package.json') console.log(buffer.toString()) // 비동기 방식으로 읽는 예 readFile('./package.json', (error: Error, buffer: Buffer) => { console.log(buffer.toString()) } // Promise와 as..
📌 문제 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 원소 ≤ 10,000 1 ≤ numlist의 길이 ≤ 100 numlist는 중복된 원소를 갖지 않습니다. 💡 아이디어 n에서 numlist의 각 요소를 뺀 값을 요소의 값과 함께 numlist배열에 담는다. 그 배열을 뺀 값으로 정렬한다. 정렬 후, 뺀 값이 같은 요소들은 numlist의 값이 큰 요소가 앞에 오게 정렬한다. 최종적으로 ..
📌 문제 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법3x 마을에서 쓰는 숫자10진법3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 💡 아이디어 배열을 하나 만들어서 길이가 n이 될 때까지 숫자를 넣는다. 이때 넣는 숫자는 1부터 돌면서 3의 배수가 아니고, 3이 들어가지 않는 수여야 한다. ✏️ 풀이 function solution(n) { var answer = 0; let th..