목록개발 (23)
HANA -J
> 문제설명 여러분이 작성할 프로그램은 초기에 모든 방이 비어있다고 가정하에 이 정책에 따라 N 번째로 도착한 손님에게 배정될 방 번호를 계산하는 프로그램이다. 첫 번째 손님은 101 호, 두 번째 손님은 201 호 등과 같이 배정한다. 그림 1 의 경우를 예로 들면, H = 6이므로 10 번째 손님은 402 호에 배정해야 한다. > 입력 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수를 포함하고 있으며 각각 호텔의 층 수, 각 층의 방 수, 몇 번째 손님인지를 나타낸다(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W). >출력 프로그램은 표준 출력..
> 문제설명 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. > 입력 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B 출력 첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다. >풀이 var fs = require('fs'); var input = fs.readFileSync('/dev/stdin').toString().split(' '); var A =..
공부한 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lGztb/btrmPQvQIJX/SKXGkkLoVglwgAXYP1cqv1/img.jpg)
> 알고리즘 문제 안풀려서 정리하는 개념들.. 😢 잘하고 싶다 위의 내용을 계속 기억하고 있자 1. Reading 컴퓨터는 배열의 길이를 기억한다 ! 배열의 길이와는 상관없이 인덱스에서 요소를 읽어내는 속도는 같다. => 많은 자료를 읽어와야 할 때는 배열이 짱이다. 2. Searching 배열이 어디서 시작하는지 알지만 특정 값의 위치는 모르기 때문에 하나하나 다 까봐야 한다. => 시간이 좀 걸린다. 3. Insert 배열 중간에 값을 삽입해야한다 ? 요소를 맨 뒤에서 부터 하나씩 하나씩 옮겨주어야 함 최악은 ? 배열은 미리 저장공간을 확보해 놓는다. 만약 배열의 크기를 넘어서 데이터를 저장해야하면 더큰 배열을 만들고 기존 값을 복사하고 삽입 4. Delete 삽입과 비슷하다 중간 값이 삭제 된다? ..
1. 자바스크립트는 프로토타입 기반 객체지향 언어이다. 2. 프로토타입 기반 객체지향 언어는 클래스가 필요없는 객체지향 프로그래밍 언어이다. 3. ES5에서는 생성자 함수와 프로토타입을 통해 객체지향 언어의 상속을 구현할 수 있다. var Person = (function(){ //생성자 함수 function Person(name) { this.name = name; } //프로토타입 메서드 Person.prototype.sayHi = function(){ console.log(`Hi! My name is ${this.name}`); }; //생성자 함수 반환 return Person; }()); //인스턴스 생성 var me = new Person('Hana'); me.sayHi(); //Hi My n..
1. 암묵적 결합 전역변수 선언은 코드 어디서든 참조하고 할당할 수 있는 변수를 사용하겠다는 의미, 이는 모든 코드가 전역 변수를 참조하고 변경 할 수 있는 암묵적 결합을 허용하는 것이다. 변수의 유효범위가 크면 클수록 가독성은 나빠지고 의도치 않게 상태가 변경될 수 있는 위험성이 높아진다. 2. 긴 생명주기 전역변수는 생명주기가 길다. 따라서 메모리 리소스도 오랜 가간 소비한다. 특히 var키워드는 변수의 중복선언을 허용하므로 생명 주기가 긴 전역 변수는 변수의 이름이 중복될 가능성이 있다. 변수 이름이 증복되면 의도치 않은 재할당이 이뤄진다. 3. 스코프 체인 상에서 종점에 존재 전역 변수는 스코프 체인상에서 종점에 존재. 변수를 검색할 때 전역변수가 가장 마지막에 검색된다. 따라서 검색속도가 가장느..
>2021/11/26 어제에 이어서 문자열 다루기 푸는데 ... 이제 쉬운문제는 고갈되어 가고 있다.. 골라풀 수 없지 🥲 >문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. >입출력예 입력값 ["abce", "abcd", "cdx"], 2 기댓값 ["abcd", "abce", "cdx"] >풀이 function solution(strings, n) { var answer = []; answer = strings.sort(); //만약 n 인덱스..
> 2021/11/25 > 문제설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. > 입출력예 s : "Zbcdefg" return : "gfedcbZ" > 풀이 function solution(s){ var answer = ''; var arr = s.split(""); arr.sort((a,b) =>{ //대소문자 구분해서 정렬 if(a>b) return -1; if(a