STUDY
-
[Javascript] 프로그래머스 주사위의 개수STUDY/Code TEST 2023. 8. 22.
[level 0] 주사위의 개수 - 120845 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 33.4 MB, 시간: 0.04 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 Empty 문제 설명 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주..
-
데이터베이스 정규화 알아보기STUDY/Computer Science 2023. 8. 16.
DB 정규화란 (normalization) 데이터 중복과 insertion, update, deletion anomaly를 최소화하기 위해 일련의 normal forms(NF)에 따라 relational DB를 구성하는 과정 정규형(Normal form) 이란? 정규화 되기 위해 준수해야 하는 몇 가지 규칙 들이 있는데 이 각각의 규칙을 normal form(NF) 이라고 부른다. 이 normal form을 가지고 정규화 하는 과정을 알아보자 Init table - 1NF - 2NF - 3NF - BCNF - 4NF - 5NF - 6NF 처음부터 순차적으로 진행하며 normal form을 만족하지 못하면 만족하도록 릴레이션 구조를 조정한다 앞 단계를 만족해야 다음 단계로 진행할 수 있다. 1NF 부터 B..
-
API란 무엇인가?STUDY/Computer Science 2023. 8. 9.
어떤 것을 좀 사용해봤다고 그것에 대해 잘 이해하고 있다고 착각하는 경우가 종종 있다. 내가 그렇다. API가 뭔지 설명해보란 말에 떠올랐던 생각은 "어떠한 역할을 수행할 수 있는 기능?" 따위였다. 분명 API에 대한 내용을 한 번 들었건만, 제대로 정리하지 않고 프로젝트만 진행해서 API를 계속 만들줄만 알고 API가 어떤건지에 관해서는 다 까먹어버린 것이다. 뭐 이렇게 기회가 왔으니, 이참에 API에 대해 정리해보고자 한다! API API는 Application Programming Interface의 약자로, 사전적 정의는 "응용 프로그램에서 사용할 수 있도록, 운영 체제 혹은 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스"를 말한다. 여기서 인터페이스(interface)란 서..
-
[javascript] 프로그래머스 무작위로 K개의 수 뽑기STUDY/Code TEST 2023. 7. 27.
[unrated] 무작위로 K개의 수 뽑기 - 181858 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 38.8 MB, 시간: 39.47 ms 구분 코딩테스트 연습 > 코딩 기초 트레이닝 채점결과 Empty 문제 설명 랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 합니다. 적절한 방법이 떠오르지 않기 때문에 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만들기로 합니다. 이미 어떤 수가 무작위로 주어질지 알고 있다고 가정하고, 실제 만들어질 길이 k의 배..
-
DB TransactionSTUDY/Computer Science 2023. 7. 26.
트랜잭션은 프로젝트를 진행할 때, 가끔 존재는 확인했지만 활용할 생각을 못했던 그리고 어떤것인지 정확하게 파악하지 못했던 개념이다.. 프로젝트를 진행하며 하나의 요청이 들어왔을 때 여러 개의 엔티티 인스턴스를 수정해야 하는 일이 생길 수도 있다. 그럴 때 어떻게 해야 하는지 알아보자. 🧐 트랜잭션(Transaction) 이란? 시스템에서 사용되는 더 이상 쪼갤 수 없는 업무 처리의 최소 단위이다. 정의만 보면 어떤 것인지 정확한 의미로 받아들이기 힘들것이다. 간단하게 말해서 데이터베이스에서 여러 작업을 하나의 단위로 묶어서 처리할 수 있도록 하는 것이 트랜잭션의 사용 목적이다. 예시를 통해 알아보면 이해가 빠를것이다. 가장 대표적으로 알려져 있는 예시로 계좌이체가 있다. 사람 A는 B에게 20만원을 이체..
-
프로그래머스 최빈값 구하기STUDY/Code TEST 2023. 7. 14.
[level 0] 최빈값 구하기 - 120812 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 33.4 MB, 시간: 0.12 ms 구분 코딩테스트 연습 > 코딩테스트 입문 채점결과 Empty 문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 < array의 길이 < 100 0 ≤ array의 원소 < 1000 입출력 예 array..
-
시간 복잡도에 관하여STUDY/Computer Science 2023. 7. 12.
알고리즘은 어떤 목적을 달성하거나 결과물을 만들어내기 위한 일련의 과정들을 얘기한다. 같은 풀이라도 코드에 따라 각양각색의 알고리즘이 있을 수 있다. 어떤 알고리즘이 가장 효율적인가를 판단하기 위해서는 코드의 완료까지 걸리는 절차의 수로 결정한다. 따라서 같은 작업을 수행하는데 걸리는 절차가 적은 알고리즘이 훌륭한 알고리즘이다. 이것을 수치화 한것이 시간 복잡도이다. 예제로 알아보는 시간 복잡도 개념 실행 시간의 개념을 '함수나 알고리즘 수행에 필요한 스텝(step) 수'라고 정의하도록 하겠다. 왜냐하면 실행 시간은 같은 알고리즘이라도 컴퓨터 하드웨어의 성능에 따라 달라지기 때문에 초 단위로 표현하는 것은 어렵다 function multiply(arr, mult) { // cost times const ..
-
프로그래머스 같은 숫자는 싫어 - 미완STUDY/Code TEST 2023. 7. 4.
[level 1] 같은 숫자는 싫어 - 12906 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 성능 요약 메모리: 83.1 MB, 시간: 45.13 ms 구분 코딩테스트 연습 > 스택/큐 채점결과 Empty 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, ..