주어진 엑셀 파일을 이용하여 1번부터 3번까지 문제에 대한 정답을 HTML 파일로 만들어 출력하는 프로젝트이다. 각 인구의 합계는 개별 데이터를 가져와서 합해주는 연산을 해주면 되니, 총 7개의 열만 가져와 작업을 했다. ReadExcel 메서드: @Override public void excelReader(String uri) { File file = new File(uri); Workbook wb = null; ArrayList tempArray = new ArrayList(); try { wb = Workbook.getWorkbook(file); Sheet sheet = wb.getSheet(0); Cell cell = null; int n = 4; while (true) { try { for (i..
그렇게 높은 난이도라고 생각하지 않았다. 배포가 가능해지는 날까지의 기간들을 Queue에 넣고 다음 작업의 기간과 비교하며 해당 작업을 빼내고 day에 배포한 기능의 수를 더해주는 방식으로 코드를 짰다. Code: package com.choonham; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; class Solution { public ArrayList solution(int[] progresses, int[] speeds) { ArrayList answer = new ArrayList(); ArrayList list = new ArrayList(); int n = 0; int days = 0; int..
즉, 검색 콘솔 창에서 검색 조건과 내용을 입력하면 제시한 조건에 해당하는 데이터를 추출하여, excel파일과 HTML 파일로 저장하라는 문제다. 첫 구현은 1. 데이터를 한글로 변환 2. 조건이 2개 이상일 때 두 조건의 and연산 을 제외하고 잘 구현을 시켰으나, 이 두가지가 정말 시간이 많이 들어가는 작업이었다. 알고 있는 검색 알고리즘을 어떻게 해야 효율적으로 사용할 수 있을 지 잘 생각이 안나서, 그냥 죄다 일일이 비교하여 검색을 진행하였다. 우선, 1. 데이터를 한글로 변환 이 작업은 무한 else if문을 사용하여 구현하려고 했으나 강사님이 정말 효율적인 방법을 제시해주어 그걸 사용하였다. Code: package com.choonham.util; public class EnglishToHa..
API를 사용하기 위해 필요한 사전 지식 엑셀 파일 쓰기 파일 경로 지정 : File fname=new File("data.xls"); 사용할 엑셀 파일 생성 : WritableWorkbook wb=Workbook.createWorkbook(File 객체); 엑셀 파일내에 시트 생성 : WritableSheet s1=WritableWorkbook.createSheet("이름", index); 라벨 생성 : Label label=new Label(열번호, 행번호, "내용"); 시트에 라벨 적용 : WritableSheet.addCell(Label 객체); 엑셀 파일 읽기 파일 경로 지정 : File fname=new File("data.xls"); 엑셀 파일 객체 얻기 : Workbook wb=Work..
상속: 주로 객체에 관련된 개념이며, 상속된 객체는 변수, 메서드, 상수 등을 가질 수 있다. 또한 메서드 재정의는 해도 되고 안해도 되는 선택 사항이다. extends는 중복이 불가능하다. 인터페이스: 주로 기능에 관련된 개념이며, 추상 메서드를 가지며, Implements 받는 객체 내에서 메서드 재정의는 필수 사항이다. Implements는 중복이 가능하다. Override 의 간단 예시: 추상 클래스: 일반 클래스와 인터페이스를 합친 개념이라고 생각하면 된다. 일반 클래스와 같이 생성자를 사용할 수 있지만, 추상 클래스는 다른 객체에서 new 로 인스턴스화 할 수 없다. 즉 일반 클래스의 부모로만 사용되는 클래스라고 볼 수 있다. 추상 클래스는 1. 공통된 필드와 메서드를 통일할 목적 2. 실체클..
상속 : 부모클래스(super class) 로 부터 모든 자원을 물려받는 개념 반드시 extends 키워드를 이용하여 상속받을 부모클래스를 지정. 단, 한번에 하나의 클래스만 상속받을 수 있다. 예) public class A{ } public class B{ } public class C extends A{ // 가능 } public class C extends A, B{ // 불가능 } public class D extends A{ // 가능 } public class E extends D{ // 가능 } 상속이 가능한 부모클래스의 변수 및 메서드 1. 부모와 자식이 같은 패키지에 존재 할 경우 public int a; char c; private 이 붙은 메서드나 변수는 상속 불가능 2. 부모와 자..
1. Comparable과 Comparator? 1) Comparable 인터페이스 - java.lang.compable 패키지에 있는 인터페이스 - 정렬 수행시 기본적으로 적용되는 정렬 기준을 정하는 메소드를 정의해놓는 인터페이스이다. 2) Comparator 클래스 - java.util.Comparator 패키지에 있는 클래스 - 기본 정렬 기준과 다른 기준을 정하여 정렬을 할 필요가 있을 때 사용 2. 사용 방법 1) Comparable 기본적인 Comparable 인터페이스의 사용 방법은 다음 코드와 같이 Comparable을 정렬이 필요한 클래스을 제네릭 타입으로 implements해주고, compareTo 메소드를 오버라이딩하여 정렬 기준을 스스로 정해주면 된다. Code: public cla..
...? 이해가 잘 안되는 문제였다. 처음엔 그저 stack하나를 선언해놓고 주식의 가격이 기준치부터 stack에 다음 가격과 비교하여 넣는 코드를 작성했다. 첫 코드는 이중 for 문 안에서 스택이 비었는지 확인하고, 비어있으면 스택을 하나 채운 뒤 다음에 올 가격과 비교 후, 가격이 같거나 올라갔을 경우 계속 우겨넣다가 가격이 떨어지는 순간, 스택의 크기를 측정하여 사이즈를 정답 배열에 넣어 완성했다. break도 없고 하나의 stack을 계속 지웠다 썼다 하니, 당연히 시간 초과가 나올 줄 알았으나, 첫번째 시도는 테스트 케이스 1(예시로 나온 케이스) 만 통과하고 나머지 19개의 테스트 케이스를 모조리 틀렸다. 뭐...시간도 당연히 초과되었다. 두번째 코드는 stack을 null값으로 메모리를 미..
트럭이 한 대씩 다리를 지난다. 즉, 먼저 다리를 건너기 시작한 트럭이 무조건 먼저 다리를 빠져나간다. Queue를 사용하면 간단하게 풀리는 문제이다. 처음엔 endPointer을 truck_weight 개수만큼 만들어 push와 pop을 구현하여 만들려고 시도했으나 for문 로직을 완전히 잘못 이해하여 좀 많이 허우적거렸다. 결국 돌고 돌아 LinkedList를 사용하는 JAVA 내부 Queue 클래스를 사용하여 문제를 풀었다. 트럭의 대수만큼 반복문을 돌리고 그 안에서 while문을 돌려 새로운 트럭이 다리를 건너기 시작하면, while을 빠져나와 다음 트럭을 확인하는 절차를 가진다. 반복문은 마지막 트럭이 다리에 올라가면 종료하므로, answer 은 다리의 길이만큼 증가시켜야 정답이 나온다. Cod..
- react-native
- redux-thunk
- Promise
- react
- 이탈리안 레스토랑
- redux
- AsyncStorage
- Async
- 인천 구월동 맛집
- 맛집
- 정보보안기사 #실기 #정리
- 파니노구스토
- await
- 인천 구월동 이탈리안 맛집
- javascript
- Total
- Today
- Yesterday