백준 1926. 그림
·
백준
https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net ''' 그림의 개수와 최대 그림 넓이 출력 ''' from collections import deque import sys input = sys.stdin.readline n, m = map(int,input().split()) arr = [list(map(int,input().split())) for _ in range(n)] visited = [[0] * m for _ in range(n)] di ..
Promise & async & await
·
Javascript
❓Promise - 비동기 작업의 최종 완료 또는 실패와 그 결과 값을 나타내는 객체 - Promise의 세 가지 상태: 1. 대기(waiting): 초기 상태, 이행되거나 거부되지 않음. 2. 이행(fulfilled): 연산이 성공적으로 완료됨. 3. 거부(rejected): 연산이 실패함. - Promise가 한 번 이행or거부되면 그 상태와 결과 값이 영구적으로 고정됨 ❓async - async 키워드를 사용하여 선언된 함수는 항상 Promise를 반환. 만약 async 함수가 값을 반환하면, 이 값은 Promise.resolve()에 의해 감싸져 Promise로 만들어짐. 만약 async 함수가 예외를 던지면, 이 예외는 Promise.reject()에 의해 감싸져 거부된 Promise로 만들어짐..
Webpack & Babel
·
Javascript
❓Webpack - 모듈 번들러. 여러 개의 모듈과 파일을 하나 또는 여러 개의 번들로 묶어주는 역할 -> 브라우저가 로드해야 하는 파일의 수가 줄어들어 성능 향상! - css, img, font 같은 정적 자원들도 모듈로 관리할 수 있게 해줌 -> 파일 간의 의존성 관리, 웹 어플리케이션의 구조 명확! - HTML, CSS, JS압축, 이미지 압축, CSS 전처리기 변환과 같은 추가 작업들도 자동화 해줌 ❓Babel - 자바스크립트 컴파일러. 최신 자바스크립트 문법을 구형 브라우저에서도 동작할 수 있도록 변환하는 역할 - ES6이상의 문법을 지원하지 않는 브라우저에서는 ES5문법으로 변환해줌 - JSX같은 문법도 자바스크립트로 변환 가능
fetch & axios
·
Javascript
❓fetch API - 자바스크립트의 내장 API로, 비동기 HTTP (Ajax) 요청을 생성하기 위해 사용. fetch 함수는 Promise 객체를 반환하며, 서버로부터 응답을 받으면 이 Promise는 Response 객체를 결과값으로 가짐 fetch('https://api.example.com/data', { method: 'GET', }) .then(response => response.json()) .then(data => console.log(data)) .catch((error) => console.log('Error:', error)); ❓Axios - Promise 기반의 HTTP 클라이언트로, 브라우저와 Node.js에서 모두 사용. fetch API보다 더 사용하기 쉽고 많은 기능 제..
ES6
·
Javascript
❓ES6 - ECMAScript 표준의 가장 최신 버전(6번째 버전) ❔예시 1. Arrow function(화살표 함수): 간결한 문법으로 함수 선언 const square = (num) => num * num; 2. Template literals (템플릿 리터럴): 문자열 생성시 따옴표 대신, 백틱(`)을 사용(기존의 + 대체) const name = "홍길동"; console.log(`Hello, ${name}!`); // "Hello, 홍길동!" 3. Destructuring assignment (구조 분해 할당): 배열이나 객체의 속성을 해체하여 그 값을 개변 변수에 담음 let [a, b] = [1, 2]; let {name, age} = {name: "홍길동", age: 25}; 4. Sp..
백준 27527. 배너 걸기
·
백준
https://www.acmicpc.net/problem/27527 27527번: 배너 걸기 현대오토에버는 현대자동차그룹의 모빌리티 소프트웨어 전문 기업으로서, In-Car와 Out-Car 영역 전반의 소프트웨어와 인프라를 안정적, 효율적, 혁신적으로 지원하는 'Mobility SW Provider' 역할을 수 www.acmicpc.net ''' N개의 구간마다 물체가 정확히 하나씩 존재 배너는 연속된 N개구간 중 M개의 구간에 결쳐서 걸어야 함 연속된 M개 구간에서 같은 높이가 90%이상이면 걸 수 있음! 배너를 걸 수 있는지 확인 1차 시도: 하나하나 count 해봤다가 시간초과됨 2차 시도: 슬라이딩 윈도우 알고리즘 서치함 + Counter 함수 서치함 -> 시간초과됨 3차 시도: Counter 함..