728x90

전체 글 71

오랜 기간 보호한 동물(1)

이 SQL쿼리 문제는 동물 보호소에 들어온 동물 중 보호소를 나간 동물의 기록이 없는 동물들을 오래된 순으로 찾아내라는 문제다. 문제의 주요 포인트로 JOIN이 적혀있었다. 문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME..

[javascript]최솟값 만들기

문제 설명 길이가 같은 배열 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를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21..

[c++] 완전 탐색_카펫

문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 ..

[lv.1] 약수의 합(c++)

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. c++ 제출 답변 입력된 값의 약수라는 의미는 나누었을 때 나머지가 0이 되는 값을 의미한다. 하여, 입력된 값의 나머지를 구하여 0이 되는 숫자들을 더해서 출력해 주었다. #include #include #include using namespace std; int solution(int n) { int answer ..

[lv.2]동명 동물 수 찾기(ORACLE, MySQL)

문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAME TYPE NULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N)..

[lv.2] 프로그래머스 올바른 괄호(c++)

문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 풀이 스택/큐를 활용하는 문제로 스택을 활용하여 괄호를 열고 닫아진 짝을 체크 할 수 있다. 짝지어진 괄호는 pop으로 날려버리면 스..

정렬 알고리즘이란?

정렬 (Sorting) 이란? : 데이터를 일정한 순서로 배열 정렬은 데이터를 특정한 조건에 따라 일정한 순서로 다시 배열 하는 작업입니다. 숫자나 알파벳으로 이루어진 데이터셋을 오름차순 또는 내림차순으로 배열하는 것이기도 합니다. 이런 작업은 많은 컴퓨터, 과학 문제에서 핵심적인 역할을 합니다. 정렬의 중요한 역할: 탐색 도움 데이터가 정렬되어 있다면 바이너리 탐색과 같은 효율적인 탐색 알고리즘을 사용할 수 있습니다. 바이너리 탐색은 데이터가 이미 정렬되어 있을 때, 중간 값과 비교하여 탐색 범위를 반으로 줄여가며 빠르게 원하는 값을 찾아내는 알고리즘입니다. 따라서 정렬된 데이터는 탐색 시간을 크게 단축시켜줍니다. 정렬 알고리즘의 종류 1. 버블 소트 (Bubble Sort): 인접한 두 원소를 비교하..

개발공부 2023.11.30

[lv.1] 대소문자 바꿔 출력하기

문제 설명 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. 제한사항 1 ≤ str의 길이 ≤ 20 입출력 예 입력 #1 aBcDeFg 출력 #1 AbCdEfG 문제답변(C++) #include #include #define LEN_STR 20 using namespace std; int main(void) { char str[LEN_STR]; cin >> str; for(int i=0; i='a' && str[i]='A' && str[i]

프로세스와 쓰레드

최근에 게임을 플레이하면서 동시에 노래를 듣고 싶어졌다. 그런데 음악을 틀면 게임이 끊기는 현상이 발생했다. 이 문제를 해결하려면 컴퓨터의 프로세스와 동시성에 대한 이해가 필요하다. 프로세스와 동시성 컴퓨터에서 여러 작업을 동시에 처리하기 위해 프로세스를 사용한다. 예를 들어, 게임을 실행하면 해당 게임은 하나의 프로세스로 실행되며, 사용자가 동시에 음악을 재생하면 음악 재생은 또 다른 프로세스로 처리된다. 이 두 프로세스는 독립적으로 메모리와 자원을 할당받아 각자의 작업을 수행한다. 쓰레드와 동시성 프로그래밍 프로세스 내에서 여러 작업을 동시에 처리하고 싶을 때 쓰레드를 사용할 수 있다. 예를 들어, 게임 프로세스 내에서 화면 업데이트, 사용자 입력 처리, 사운드 재생 등의 작업을 각각 다른 쓰레드로 ..

개발공부 2023.11.25

[프로그래머스 lv.2] 최댓값과 최솟값

문제 설명 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한 조건 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 s return "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 -1" "-1 -1" "-1 -1" 풀이(JavaScript) function solution(s) { let array = s.split(' ').map(Number); let max = Math.max(...array); l..

728x90
반응형