전체 글 47

[프로그래머스-level3] 셔틀버스

문제셔틀이 아래와 같은 규칙으로 운행되고 크루원들이 셔틀에 탑승할 때 콘이 가장 늦게 출근할 수 있는 시간을 구하는 문제이다.셔틀은 09:00부터 총 n회 t분 간격으로 역에 도착하며, 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다.셔틀은 도착했을 때 도착한 순간에 대기열에 선 크루까지 포함해서 대기 순서대로 태우고 바로 출발한다. 예를 들어 09:00에 도착한 셔틀은 자리가 있다면 09:00에 줄을 선 크루도 탈 수 있다.입력 셔틀 운행 횟수 n셔틀 운행 간격 t한 셔틀에 탈 수 있는 최대 크루 수 m크루가 대기열에 도착하는 시각을 모은 배열 timetable0 < n ≦ 100 < t ≦ 600 < m ≦ 45timetable은 최소 길이 1이고 최대 길이 2000인 배열로, 하루 동안 크루가 대..

알고리즘 2025.09.15

[프로그래머스] level-3 다단계 칫솔 판매

문제민호는 다단계 조직을 이용하여 칫솔을 판매하고 있다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망이다.모든 판매원은 칫솔이 판매에 의하여 발생하는 이익에서 10%를 자신을 조직에 참여시킨 추천인에게 배분하고 나머지는 판매원 자신이 갖게 된다.만약 10%를 계산한 금액이 1원 미만일 경우에는 이득을 분배하지 않고 자신이 모두 가진다. 문제에서 주어지는 데이터enroll : 각 판매원의 이름을 담은 배열referral : 각 판매원을 다단계 조직에 참여시킨 다른 판매원의 이름을 담은 배열seller : 판매량 집계 데이터의 판매원 이름을 나열한 배열amount : 판매량 집계 데이터의 판매 수량을 나열한 배열 제한 사항enroll의 길이는 1 이상 10,000..

알고리즘 2025.09.13

OSI 7계층

OSI 7계층 OSI(Open Systems Interconnection) 모델은 국제 표준화 기구 등에서 1970년대 후반에 개발되었다. 네트워크 통신이 이루어지는 과정을 7개의 단계로 나눈 모델로 각 계층의 역할을 표준화하여 서로 다른 시스템 간에도 원활한 통신이 가능하도록 도와주게 된다. 논리적 통신과 물리적 통신논리적 통신(Peer-to-Peer Communication)개념: OSI 7 계층의 핵심 원리 중 하나입니다. 각 계층은 자신과 동일한 계층에 있는 상대방과 통신하는 것처럼 동작합니다.예시: 송신 측의 전송 계층(4계층)은 데이터를 보내기 위해 헤더를 추가합니다. 이 헤더에는 수신 측의 전송 계층이 데이터를 올바르게 처리하는 데 필요한 정보(예: 포트 번호)가 담겨 있습니다. 송신 측의 ..

네트워크 2025.09.13

연속 펄스 부분 수열의 합

문제어떤 수열의 연속 부분 수열에 같은 길이의 펄스 수열을 각 원소끼리 곱하여 연속 펄스 부분 수열을 만들려 합니다. 펄스 수열이란 [1,-1,1,-1,...] 또는 [-1,1,-1,1,...]과 같이 1또는 -1로 시작하면서 1과 -1이 번갈아 나오는 수열입니다.이 때 수열 sequence가 주어졌을 때 연속 펄스 부분 수열의 합이 가장 큰 것을 return입출력 예시sequenceresult[2,3,-6,1,3,-1,2,4]10 코드 function solution(sequence) { let answer = -Infinity; const dpPulse = Array.from({length : 2} , () => Array.from({length : sequence.length}, (_,..

알고리즘 2025.09.03

Vue(14) Single-File Components

Single-File ComponentsVue에서 Single-File Components 는 template , script style을 하나의 파일로 캡슐화 하는 특수 파일의 형식 언어 블록top-level 블록에서 하나만을 가질 수 있다.콘텐츠는 추출되어 @vue/compiler-dom으로 전달되고 , JS 렌더 기능으로 사전 컴파일 되고 , render 옵션으로 내보내어 컴포넌트에 첨부된다.script 또한 최대 하나의 블록을 포함할 수 있다.파일 하나당 하나의 블록을 가질 수 있다.사전에 처리되어 컴포넌트의 setup() 함수로 사용된다. 컴포넌트의 각 인스턴스에 대하여 실행되며 최상위 바인딩은 템플릿에 자동으로 노출된다. style - module 속성CSS 모듈로 컴파일 되고 CSS ..

Vue 2025.08.29

Vue(13) 컴포넌트

컴포넌트UI를 재사용할 수 있도록 정의한 것사용 이유컴포넌트를 사용하면 UI를 재사용할 수 있다.컴포넌트를 사용하여 UI를 독립적으로 나눔으로써 코드를 클린하게 할 수 있다.컴포넌트 만들기컴포넌트 정의 Single-File Components (SFC) => 실무에서 일반적으로 사용하며 *.vue 를 가지는 단일 파일문자열 템플릿 => 빌드 도구를 사용하지 않을 때 javascript 객체로 정의컴포넌트 등록전역등록app.component() 메서드를 사용하여 현재 vue 애플리케이션에서 전역적으로 사용할 수 있도록 할 수 있다.전역적으로 등록된 컴포넌트는 애플리케이션 어떤 곳에서든 사용이 가능하다. 단점빌드 시스템을 사용하는 경우 컴포넌트를 전역 등록하는 것은 컴포넌트를 사용하지 않더라도 최종 빌드에..

Vue 2025.08.29

Vue(12) watch , watchEffet

watch반응형 데이터가 변경 되었을 때를 감지하여 다른 작업을 수행해야 하는 경우에 사용하는 함수특정한 상태가 변경되었을 때 특정 작업을 수행할 수 있다.const message = ref('Hello World');watch(message , (newValue, oldValue) => {}); //감지할 반응형 데이터 , (newValue, oldValue)를 매개변수로 갖는 콜백함수첫 번째 매개변수는 다양한 타입이 될 수 있다. ex) ref, computed, object, getter , function ,array//getterwatch(() => { return x.value + y.value}, (sum, oldValue) => { console.log('sum: ', sum) conso..

Vue 2025.08.29

vue (11) 양방향 바인딩

v-model프론트엔드에서 입력 양식을 처리할 때 입력 요소의 상태와 자바스크립트의 상태를 동기화 해야하는 경우가 많다.v-model 은 value를 바인딩하고 @input으로 text를 변경하는 것을 추상화하여 제공하는 디렉티브이다. text = event.target.value'/>HTML 요소에 따른 이벤트 변화v-model 은 내부적으로 HTML 요소가 어떤 요소냐에 따라 서로 다른 이벤트를 사용한다.text ,textArea : value 속성과 input 이벤트 사용radio , checkbox : checked 속성과 change 이벤트 사용select : value 속성과 change 이벤트 사용checkboxchange 이벤트와 checked 속성을 v-model 이 내부적으로 처리해..

카테고리 없음 2025.08.28

Vue(10) - 이벤트 처리

이벤트 처리Vue에서 이벤트 처리는 v-on 디렉티브로 사용할 수 있다.v-on 이벤트는 자주 사용하기 때문에 @ 단축 표현으로 많이 사용된다.const counter = ref(0) printEventInfo 과 동일 --> 메소드 이벤트 핸들러v-on 디렉티브에서 메소드를 호출할 수 있다. 이 때 매개변수로 event 객체를 받는다.const printEventInfo = (event) => { console.log(event.target); console.log(event.target.tagName);} 이벤트 객체 접근인라인 핸들링으로 메소드를 호출할 때 $event 키워드를 사용하여 event 객체를 넘겨줄 수 있다.event 객체의 위치는 함수에서 정의한 매개변수 순서에 따르며 $event로..

Vue 2025.08.28

vue(9) 디렉티브

디렉티브디렉티브는 v- 접두사가 있는 특수 속성으로 디렉티브의 값이 변경될 때 특정 효과를 반응적으로 DOM에 적용하는 것을 말한다.전달인자 (Argument) : 일부 디렉티브는 디렉티브명 뒤에 콜론(:)으로 표기되는 전달인자를 가질 수 있다.ex) v-on:click수식어 ( modifiers) : 수식어는 점(.)으로 표시되는 특수 접미사로 디렉티브가 특별한 방식으로 바인딩 되어야 함을 나타낸다.ex) v-on:submit.prevent='onSubmit'디렉티브는 기능상에서 중요한 역할인 컴포넌트 또는 DOM 요소에게 ~~하게 작동하라고 지시해주는 지시문이다.v-text요구 값: string엘리먼트의 textContent를 속성을 설정하므로 텍스트 컨텐츠를 덮어쓰게 된다. 만약 텍스트 컨텐츠의 ..

Vue 2025.08.25