반응형
반응형
8980번: 택배 입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이 www.acmicpc.net 푸는데 상당히 오래 걸렸습니다. 5시간 정도 걸렸습니다.. 처음 문제를 풀었을 때 15점에서 멈춰서 어디서 잘못된 건지 한참을 찾았는데, 처음 풀이방법이 맞긴 맞아서 코드를 새로 짰습니다. 개인적으로 특히 그리디 문제를 풀 때 코드가 더러워 지는데, 그리디 연습을 많이 해야겠네요.. 풀이 방법 풀이 자체는 간단합니다. 데이터를 정렬합니다. 출발 마을을 기준으로 오름차순으로 정렬을 해줍니다. 출발 마을이 같을 경우 도착 마을이 빠른 순서대로 정..
1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제 푸는 방법을 잘 모르겠어서 시간이 오래 걸렸던 문제. 문제푸는 방법만 알면 간단하게 풀 수 있었다. 풀이 방법 우선 멀티탭에 전기용품을 꼽는다. 순서대로 전기용품을 shift()한다. 멀티탭에 꽂혀있는 물건이 아니라면, 물건을 하나 골라서 플러그를 빼야한다. 플러그 빼는 물건은 가장 늦게 쓰이거나, 나중에 쓰이지 않는 물건의 플러그를 빼야한다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin..
11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si v.split(" ").map(Number)..
2457번: 공주님의 정원 첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, www.acmicpc.net 첫 번째 시도 꽃이 지는 순서대로 정렬을 한 이후. 완전탐색으로 문제를 풀었다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n") const N = +input.shift() const data = input.map(v => { const tempArr = v.split(" ") for(let i=0; i a[1]-b[1..
1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 첫 번째 시도 BFS에 길이가 2인 배열을 만들고, knight 움직임으로 갈 수 있는지 여부를 0번째 인덱스에, 정점에 도달하는데 걸리는 최소 횟수를 1번째 인덱스에 넣어서 풀었다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim().split("\\n"); const K = +input.shift(); const [W, H] = input.shi..
JS는 명령형, 함수형, 프로토타입 기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어 원시 값을 제외한 JS를 이루고 있는 모든 것이 객체이다 객체지향 프로그래밍 명령형 프로그래밍의 절차지향적 관점에서 벗어난, 여러 개의 독립적 단위, 즉 객체의 집합으로 프로그래밍을 표현하려는 패러다임 다양한 속성 중에서 필요한 속성을 간추려 내는 것을 추상화라 한다 속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합 자료구조를 객체라고 한다 상태를 나타내는 데이터는 프로퍼티, 동작은 매서드 상속과 프로토타입 어떤 객체의 프로퍼티, 메서드를 다른 객체가 상속받아 그대로 사용할 수 있는 것 상속을 구현하여 불필요한 중복을 제거한다. function Circle(radius){ this.radius = ..