목록분류 전체보기 (78)
윤개발
웹팩이란 프런트 엔드 프레임워크에서 가장 많이 사용되는 모듈 번들러이다. 모듈 번들러란 자원들(HTML,CSS,JS,IMAGE)을 하나로 병합해주는 것을 말한다. 1. 임의 폴더 생성 2. npm init -y y:(기본 설정으로 하겠다는 옵션) 3. npm i webpack webpack-cli -D i: install 약자 -D --save-dev 개발용 옵션 4. npm i lodash lodash 설치 5. index.html 파일 생성 후 아래내용 붙여넣기 6. root dir에 src 디렉터리를 생성하고 안에 index.js 생성 후 아래내용 붙여넣기 function component() { var element = document.createElement('div'); /* lodash is..
문제 n×n 바둑판 모양으로 총 n2개의 방이 있다. 일부분은 검은 방이고 나머지는 모두 흰 방이다. 검은 방은 사면이 벽으로 싸여 있어 들어가 수 없다. 서로 붙어 있는 두 개의 흰 방 사이에는 문이 있어서 지나다닐 수 있다. 윗줄 맨 왼쪽 방은 시작방으로서 항상 흰 방이고, 아랫줄 맨 오른쪽 방은 끝방으로서 역시 흰 방이다. 시작방에서 출발하여 길을 찾아서 끝방으로 가는 것이 목적인데, 아래 그림의 경우에는 시작방에서 끝 방으로 갈 수가 없다. 부득이 검은 방 몇 개를 흰 방으로 바꾸어야 하는데 되도록 적은 수의 방의 색을 바꾸고 싶다. 아래 그림은 n=8인 경우의 한 예이다. 위 그림에서는 두 개의 검은 방(예를 들어 (4,4)의 방과 (7,8)의 방)을 흰 방으로 바꾸면, 시작방에서 끝방으로 갈 ..
문제 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다. 풀이 모든 경우를 다 해보면 된다. 코드 package sort; import java.io.BufferedReader; import java.io.IOException; import..
문제 두 문자열이 주어졌을 때, 두 문자열에 모두 포함된 가장 긴 공통 부분 문자열을 찾는 프로그램을 작성하시오. 어떤 문자열 s의 부분 문자열 t란, s에 t가 연속으로 나타나는 것을 말한다. 예를 들어, 문자열 ABRACADABRA의 부분 문자열은 ABRA, RAC, D, ACADABRA, ABRACADABRA, 빈 문자열 등이다. 하지만, ABRC, RAA, BA, K는 부분 문자열이 아니다. 두 문자열 ABRACADABRA와 ECADADABRBCRDARA의 공통 부분 문자열은 CA, CADA, ADABR, 빈 문자열 등이 있다. 이 중에서 가장 긴 공통 부분 문자열은 ADABR이며, 길이는 5이다. 또, 두 문자열이 UPWJCIRUCAXIIRGL와 SBQNYBSBZDFNEV인 경우에는 가장 긴 공..
생성자에 매개변수가 많다면 빌더를 고려하라. 정적 팩터리 메서드나 생성자는 매개변수가 많을 때 적절히 대응하기 어렵다. 일반적으로 사용하는 다음의 2가지 경우를 보자. 기존 패턴 1.점층적 생성자 패턴 - 필수 생성자, 선택 매개변수 1개를 받는 생성자, 선택 매개변수 2개를 받는 생성자, ..., n개를 받는 생성자 단점: 매개변수가 많아지면 클라이언트가 코드를 작성하기 어렵고 읽기도 어렵다. 2.자바빈즈 패턴 - 매개변수가 없는 생성자로 객체를 만든 후 세터를 이용해서 결정하는 방식 단점: 객체가 완성되기 전까지 일관성이 무너진 상태에 놓이게 된다. 빌더 패턴 클라이언트는 필수 생성자를 호출해 빌더 객체를 얻고 빌더 객체의 세터메소드를 사용하여 원하는 선택 매개변수를 설정한다. 객체 선언 class ..
https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 문제 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가 20개 들어있다. 목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다. 상근이의 집에서 페스티벌이 열리는 곳은 매우 먼 거리이다. 따라서, 맥주를 더 구매해야 할 수도 있다. 미리 인터넷으로 조사를 해보니 다행히도 맥주를 파는 편의 www.acmicpc.net 문제 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로..
생성자 대신 정적 팩터리 메서드를 고려하라. 클래스의 인스턴스를 얻는 전통적인 방법은 public 생성자다. 하지만 클래스는 생성자와 별도로 정적 팩토리 메서드를 제공할 수 있다. 생성자보다 정적 팩토리 메소드를 제공하는 방식에는 장단점이 있다. 장점 1.이름을 가질 수 있다. 생성자에게 넘기는 매개변수와 생성자로는 객체의 특성을 제대로 설명하지 못한다. BigInteger(int,int,Random) // 생성자 BigInteger.probablePrime(int bitLength, Random rnd) //정적 팩토리 메소드 다음 두 코드 중에서 어느 쪽이 "소수인 BigInteger 인스턴스를 반환한다"는 의미를 더 잘 설명할까? 또한 매개변수의 순서를 다르게 하여 생성자를 추가하는 방식을 정적 팩..
https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. 출력 조건에 따라 정렬하여 단어들을..
H2 database란? h2 db는 MySQL, oracle 같은 관계형 데이터베이스이다. h2 db는 이들과 다르게 경량 db이며 메모리가 매우 적다. 또한 db를 로컬에 저장하는 것이 아니라 메모리에 저장하는 것이기 때문에 테스트용으로만 써야한다. H2 설치 h2 db 사이트: https://www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser base..
임원면접은 면접관4(임원3, 인사담당자1), 면접자 3으로 면접을 진행하게 됩니다. 임원면접은 본부장님급 이상으로 들어오시며 편하게 해주시려는 성향이 딱 보입니다. 면접자 3명이서 30분정도 진행하기 때문에 많은 질문을 받지는 못합니다. 또한 임원분들이 매일 다르다보니 운도 좀 따르는 것 같습니다. 들어보니 3명다 합격한 면접자들도 있고 저는 3명중 2명만 붙었습니다. 저는 들어가서 1분 자기소개 후 가장 좋아하는 과목 등 단순한 질문만 받은 것 같습니다. 제가 스터디 하면서 유투브를 보면서 준비했던 임원면접과 별반 다르지 않습니다. 열심히 면접준비하셔서 절 보러오세요ㅎ_ㅎ 화이팅! 지금은 2020신입사원으로 kt ds에 다니고 있습니다. 블로그에 너무 상세한 이야기를 적을 수 없는점은 이해해주시고 꼭 ..