전체 글 74

[프로그래머스] 흉부외과 또는 일반외과 목록 출력하기

💫문제 출처 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   정답   💫Mysql  날짜 포맷 DATE_FORMAT(날짜, 포맷)  %Y -년도(2025)%y - 년도(25)%d - 일(01,20)%e - 일(1,20)%T - 시간(12:45:00)%r - 시간 (12:45:00 AM)%H - 24시간 (14,17)%l - 12시간 (01,06)%m - 월(01,06)%c - 월(1,9)%M - 월(March, July)%b - 월(Aug, Jan)%W - 요일(Friday, Sunday)%a - 요일(Wed, Fri)%i - 분 %S - 초   참고 및 날짜 관련 함수 자료-오늘의 개발님 포스팅..

공부/코테 2025.03.03

[프로그래머스] 경기도에 위치한 식품창고 목록 출력하기(IS NULL)

💫문제 출처 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   1. ifnull 사용으로 null값 치환 SQL null값 치환 함수 : 대상이 null이면 치환값으로 치환하여 리턴IFNULL(대상, 치환값) - MYSQL 에서 사용ISNULL(대상, 치환값) - MSSQL 에서 사용NVL(대상, 치환값) - ORACLE에서 사용    2. case문 활용

공부/코테 2025.03.02

[혼공컴운] 6주차_ 가상메모리/파일 시스템

✔️연속 메모리 할당프로세스에 연속적인 메모리 공간을 할당하는 방식  ✔️스와핑메모리에서 사용되지 않는 일부 프로세스를 보조기억장치로 내보내고 실행할 프로세스를 메모리로 들여보내는 메모리 관리 기법 🌟스왑 영역: 프로세스들이 쫓겨나는 보조기억장치의 일부 영역🌟스왑 아웃: 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것🌟스왑 인: 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것  ✔️메모리 할당🌟최초 적합: 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식🌟최적 적합: 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식🌟최악 적합: 프로세스가 적재될 수있는 가장 큰 공간에 프로세스를 배치하는 방식 ✔️외부 단편화프로세스를 할당하기 어려울 ..

공부 2025.02.22

[혼공컴운] 5주차_프로세스 동기화/교착 상태

✔️동기화 프로세스 동기화: 프로세스들 사이의 수행 시기를 맞추는 것실행 순서 제어: 프로세스를 올바른 순서대로 실행하기상호 배제: 동시에 접근해서는 안되는 자원에 하나의 프로세스만 접근하게 하기 공유 자원: 공동으로 사용하는 자원 (변수,파일,장치 등)임계 구역: 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역레이스 컨디션: 잘못된 실행으로 인해 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생하는 경우 운영체제는 임계 구역 문제를 해결하고자 3가지 원칙을 지킨다.상호 배제: 한 프로세스가 임계 구역에 진입시 다른 프로세스는 임계 구역에 들어올 수 없다.진행: 임계 구역에 어떤 프로세스도 진입하지 않았다면 임계 구역에 진입하고자 하는 프로세스는 들어갈 수..

공부 2025.02.16

[혼공컴운]4주차_운영체제/프로세스와 스레드/CPU 스케줄링

✔️운영체제프로그램 실행에 필요한 자원을 할당하고, 올바르게 프로그램이 실행되도록 돕는 프로그램운영체제는 메모리 내 커널 영역에 적재되어 실행된다.사용자 영역: 커널 영역을 제외한 나머지 영역으로 사용자가 이용하는 응용 프로그램이 적재되는 공간 커널: 운영체제의 핵심 기능을 담당이중모드: CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식사용자 모드는 커널 영역의 코드를 실행할 수 없는 모드로,일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행된다.사용자 모드로 실행되는 일반적인 응용 프로그램은 자원에 접근할 수 없다.커널 모드는 커널 영역의 코드를 실행할 수 있는 모드로, 자원에 접근할 수 있다. 시스템 호출: 운영체제 서비스를 제공받기 위해 사용자 모드에서 커널 모드로..

공부 2025.02.09

[혼공컴운]3주차_메모리와 캐시 메모리/보조기억장치/입출력장치

✔️메모리와 캐시 메모리RAM의 특징과 종류 주기억장치의 종류에는 RAM과 ROM이 존재하고 '메모리'는 주로 RAM을 지칭한다.RAM은 실행할 프로그램의 명령어와 데이터가 저장되는 휘발성 저장 장치이고, 보조기억장치는 비휘발성 저장 장치이다.RAM의 용량이 클시 보조기억장치에서 프로그램을 여러 횟수에 걸쳐 가져올 필요가 없으므로, 일반적으로 프로그램 실행 속도가 증가한다. RAM의 종류는 DRAM,SRAM,SDRAM,DDR SDRAM으로 크게 나뉜다.DRAM: 시간이 지나면 저장된 데이터가 점차 사라지는 RAM/ 소비 전력이 비교적 낮음/ 저렴함/ 집적도가 높음/대용량 설계가 용이SRAM: 저장된 데이터가 변하지 않는 RAM/ 소비 전력 높음/ 비쌈/ 집적도가 낮음/캐시 메모리로 주로 사용됨SDRAM:..

공부 2025.01.26

[혼공컴운]2주차_CPU의 작동 원리/CPU 성능 향상 기법

✔️CPU 의 작동 원리ALU와 제어장치의 역할 ALU: ALU는 산술논리연산장치로서, 계산 역할을 담당ALU 작동 방식: 레지스터를 통해 피연산자를 받아들이고, 제어장치로부터 제어 신호를 받아들이며 수행ALU는 계산 결과와 더불어 플래그(연산 결과에 대한 추가 정보로 양수 또는 음수를 구분)를 내보낸다. 플래그의 종류부호 플래그: 연산 결과의 부호를 나타낸다.제로 플래그: 연산 결과가 0인지 여부를 나타낸다.캐리 플래그: 연산 결과 올림수나 빌림수가 발생했는지 나타낸다.오버플로우 플래그: 연산 결과가 연산 결과를 담을 레지스터보다 큰 상황(오버플로우)가 발생했는지 나타낸다.인터럽트 플래그: CPU의 작업을 방해하는 인터럽트가 발생했는지 나타낸다.슈퍼바이저 플래그: 커널 모드, 사용자 모드로 실행 중인지..

공부 2025.01.19

[혼공컴운] 1주차_컴퓨터 구조/데이터/명령어

컴퓨터 구조 시작하기 컴퓨터 구조를 알아야 하는 이유컴퓨터 구조를 이해하고 있으면 문제해결 능력이 향상된다.컴퓨터 구조를 이해하면 컴퓨터 내 성능/용량/비용을 고려하여 개발하기 용이하다.즉. 컴퓨터 구조를 이해하면 우리는 컴퓨터를 미지의 대상에서 분석의 대상으로 인식하게 된다. 컴퓨터의 구조컴퓨터가 이해하는 정보와 컴퓨터의 핵심 부품으로 분류할 수 있다.컴퓨터가 이해하는 정보에는 데이터와 명령어가 존재한다.데이터: 컴퓨터가 이해하는 숫자, 문자, 이미지 등과 같은 정적인 정보명령어: 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 핵심 부품메모리: 현재 실행되는 프로그램의 명령어와 데이터를 저장하는 부품이다.             메모리에는 저장된 값에 빠르고 효율적으로 접근하기 위해 주소 개념이 사..

공부 2025.01.12

xgboost 모델

1. 정의GBT모델과 비슷하지만 GBT 모델에 병렬 처리, 하드웨어 최적화, 과적합 규제 페널티 등의 개념을 도입하여 최적화한 모델이다. Xgboost는 Gradient Tree boosting이다.Xgboost의 기본 학습기는 의사결정나무로 하며 gradient를 이용하여 GBT의 약점을 보완한다. 1-1 Boosting의 주요 아이디어여러 개의 learning 모델을 순차적으로 구축하여 최종적으로 합침(앙상블)사용하는 모델 : 단순 모델 -이진 분류기에서 정확도가 0.5보다 조금 좋은 모델순차적 -> 모델 구축에 순서를 고려각 단계에서 새로운 base learner를 학습하여 이전 단계의 base learner의 단점 보완각 단계를 거치면서 모델이 점차 강해짐 -> boostingboosting 알고..

공부 2024.12.26

백준 11720 숫자의 합

문제 : N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오.첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.입력으로 주어진 숫자 N개의 합을 출력한다. 1) sum 함수 이용 처음에 n에 입력받은 값은 활용하지 않고다시 입력받아 map 함수를 활용하여 int형으로 변환한 뒤 sum을 해주었다.  2) 리스트 컴프리헨션 이용 마찬가지로 n에 입력받은 값은 활용하지 않고numbers에 입력받은 값을 리스트 컴프리헨션을 사용하여 sum 해주었다.    생각보다 간단한 문제였다.처음으로 받은 입력숫자는 활용하지 않는다는 것이 포인트인것같다.처음에 잘못 이해해서 입력 받은 숫자의 길이만큼 랜덤한 숫자를 반환하여 더한 ..

공부/코테 2024.12.10