더 맵게 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 -..
주식가격 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다. 5초 시점..
수집 - 요소들을 필터링/매핑한 후 요소들을 수집하는 최종처리 메소드를 제공 - 필요한 요소만 컬렉션으로 담을 수 있고, 요소들을 그룹핑한 후 집계할 수 있음 예제를 위한 Student 클래스 public class Student implements Comparable{ public enum Sex {MALE, FEMALE} public enum City {Seoul, Pusan} private String name; private int score; private Sex sex; private City city; public Student(String name, int score) { super(); this.name = name; this.score = score; } public Student(St..
안녕하세요. 오늘은 3일동안 만들었던 프로젝트를 소개하고자 합니다. 주제는 구글, 파파고, 카카오의 세 번역기를 하나의 페이지에서 번역할 수 있게 만든 페이지 개발입니다. 개발 목적 제가 이런 페이지를 개발하게 된 이유는 웹서버를 두어 사이트를 운영해보고 싶었던 마음과 친구의 요청으로 진행된 프로젝트였습니다. 친구는 번역기로 영작, 번역과정을 자주하게 되었는데요. 주로 구글 번역기를 사용하였지만 꼼꼼한 성격을 가진 친구라 파파고, 카카오 번역 등 다른 번역기에서도 확인을 하고 싶어했어요. 그런데 그렇게 하기위해서는 크롬탭으로 3가지의 번역기 사이트를 모두 켜놓고 왔다갔다 해야하는 불편함이 있었다고 합니다. 여튼, 어느 하나만 믿고 하는 것보다는 여러가지 선택지를 비교하면서 작업할 수 있으면 좋겠다는 요구..
스케줄러 - 주기적으로 매일, 매주, 매월 등 주기적으로 특정한 프로그램을 실행하기 위한 것 - Spring의 경우는 Spring-batch 혹은 Quartz 라이브러리를 이용하면 프로그램이 실행되는 동안 주기적인 스케줄링이 가능하다. Spring에서 Quartz 라이브러리 설정 1. pom.xml org.quartz-scheduler quartz 2.3.0 org.quartz-scheduler quartz-jobs 2.3.0 - quartz와 quartz-jobs 디펜던시 등록. 2. root-context.xml 의 namepace에서 task 항목을 체크! - task:annotation-driven 태그 추가 - 스케줄러가 실행될 컨트롤러가 속한 패키지를 component-scan 처리한다. 3...
팩토리 메소드 패턴 - 팩토리는 공장을 나타내는 단어. -> 뭔가를 생산. - 객체를 직접 new 하지 않고 서브클래스에 위임해서 생성하는 기법. - 객체를 만들어내는 팩토리 패턴. - 팩토리 메소드에서는 주로 템플릿 메소드 패턴(하나의 알고리즘을 여러 단계의 알고리즘을 두고 사용하는 메소드 패턴)이 사용됨. 예제 분석 1. 게임아이템과 아이템 생성 구현 - 아이템을 생성하기 전 데이터베이스에서 아이템 정보 요청 - 아이템 생성 후 아이템 복제 등의 불법을 방지하기 위해 데이터베이스에 아이템 생성정보 남김 2. 아이템을 생성하는 주체를 ItemCreator로 이름짓기 3. 아이템은 Item이라는 interface로 다룰 수 있도록함. - item은 use 함수를 기본 함수로 갖고 있습니다. 4. 현재 아..
안녕하세요! 오늘은 두달여전에 구매해서 현재까지 사용하고있는 제 노트북에 대해서 리뷰해보도록 하겠습니다. 2013년 7월 즈음 IT관련 전공을 하는 사람으로써 1학년이지만 엄마손잡고 삼성매장에가서 노트북한대를 샀던게 제 첫 노트북이었습니다. 그걸 2019년까지 써왔더니 노트북이 상태가 점점 말이아니어서 Spring 프로젝트 톰캣 서버 켜는데만 2분이상 소요하고 아~~주 불편한 환경이어서 큰맘먹고 바꾸었습니다. 그 때 제가 했던 고민들도 함께 들려드리도록 하겠습니다. 맥북 vs 그램 일단 맥북과의 배교를 가장 많이 하게되었었습니다. 개발자로써 MacOS라는 운영체제를 접해보고 싶었고, 맥북간지도 느껴보고 싶었습니다. 하지만 가장 크게 결정했던 요인은 무게와 가격! 현재 제 노트북의 스펙은 RAM 16GB,..
피보나치 수 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 n return 3 2 5 5 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1,..