본문 바로가기

전체 글

(121)
[JAVA] 백준 4358번 - 생태학 문제 생태학에서 나무의 분포도를 측정하는 것은 중요하다. 그러므로 당신은 미국 전역의 나무들이 주어졌을 때, 각 종이 전체에서 몇 %를 차지하는지 구하는 프로그램을 만들어야 한다. 입력 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어진다. 출력 주어진 각 종의 이름을 사전순으로 출력하고, 그 종이 차지하는 비율을 백분율로 소수점 4째자리까지 반올림해 함께 출력한다. 예제 입력 1 복사 Red Alder Ash Aspen Basswood Ash Beech Yellow Birch Ash Cherry Cottonwood Ash Cypress Red E..
[JAVA] 백준 14889번 - 스타트와 링크 문제 오늘은 스타트링크에 다니는 사람들이 모여서 축구를 해보려고 한다. 축구는 평일 오후에 하고 의무 참석도 아니다. 축구를 하기 위해 모인 사람은 총 N명이고 신기하게도 N은 짝수이다. 이제 N/2명으로 이루어진 스타트 팀과 링크 팀으로 사람들을 나눠야 한다. BOJ를 운영하는 회사 답게 사람에게 번호를 1부터 N까지로 배정했고, 아래와 같은 능력치를 조사했다. 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. Sij는 Sji와 다를 수도 있으며, i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치는 Sij와 Sji이다. N=4이고, S가 아래와 같은 경우를 살펴보자. i\j12341..
[Spring] PageNotFound - No mapping for GET Spring 공부를 하며 만난 Error Message이다 PageNotFound - No mapping for GET.. 직역하자면 내가 Mapping하고 싶은 페이지가 존재하지 않다는 것이다 Tomcat Run/Debug Configuration의 Deployment에서 수정도해보고 Controller 파일에서 @Controller가 제대로 되어있는지, @RequestMapping 도 제대로 해주었는지 확인했지만 틀린게 없었다. 시간이 지나서 결국 원인을 찾아냈는데 내가 원하는 경로는 localhost:8080/helloSpringMVC 였는데 Project Structure의 WAR 파일 명이 잘 못되어있었다. WAR파일명을 helloSpring:war에서 helloSpringMVC:war로 바꿔주..
[Spring] Dependency Injection public class PetOwner{ private AnimalType animal; public PetOwner(){ this.animal = new Dog(); } } 위 코드에서 PetOwner Class는 AnimalType으로 Dog만 소유 할 수 있는 형태이다. PetOwner와 AnimalType은 강한 결합도를 가진다고 볼 수 있다. 만약 Dog대신 Cat을 소유하고싶다면 PetOwner의 소스코드를 변경해야하는 문제점이 있다. 이런 강한 결합도, 소스코드를 직접 변경해야하는 문제점을 해결하기 위해 Dependency Injection 방법을 사용할 수 있다. Bean Container는 Bean들을 만든다. 여기서 Bean은 저번에 포스팅했던 글의 POJO와 같다. 그리고 Config..
[Spring] Spring이란? Spring 이란 Java Application FrameWork라고 할 수 있다. Open Source 이기 때문에 자유롭게 사용 할 수 있다. Pojo 기반의 엔터프라이즈 애플리케이션으로 개발을 쉽고 편하게 할 수 있게 해준다. JAVA Application을 개발하는데 필요한 하부구조를 포괄적으로 제공하므로 개발자는 Application 개발에 집중할 수 있다. -> Simplify Java Enterprise Development. 스프링의 주요 특징으로는 POJO, DI, AOP, PSA가 있다. POJO란? POJO는 Plain Old Java Object 의 약자로 특별한 인터페이스가 구현할 필요가 없고 특별한 클래스를 상속할 필요가 없는 순수객체 Simple Java Class를 말한다. ..
[JAVA] 백준 11659번 - 구간 합 구하기 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 예제 입력 1 5 3 5 4 3 2 1 1 3 2 4 5 5 예제 출력 1 12 9 1 나의 풀이 i번째에서 j번째 사이 숫자들의 합을 구하는 구간 합 문제이다. 먼저 나는 i번째와 j번째 사이 ( i >= j ) 숫자의 합을 구하기 위해선 i번째까지의 숫자합 sum[i] 에서 j번째 -1 번째까지의 숫자합 s..
[JAVA] 백준 11720번 - 숫자의 합 구하기 N개의 숫자가 공백 없이 써 있다. 이 숫자를 모두 합해 출력하는 프로그램을 작성하시오. - 입력 1번째 줄에 숫자의 개수 N(1
[JAVA] 자료구조 - 스택(2) : 중위, 후위 표기법 중위 표기 방식 : 연산자가 피연산자 사이에 있는 수식 ex) 2+3*8 후위 표기 방식 : 연산자가 피연산자 뒤에 있는 수식 ex) 238*+ 인간이 주로 사용하는 수식은 중위 표기 방식이며, 컴파일러가 사용하는 수식은 후위 표기 방식이다. 후위 표기 방식의 장점은 괄호를 사용하지 않아도 되는 것 이다. 중위 표기 방식 (1+2) * 7은 더하기 연산이 곱셈 연산보다 먼저 수행되어야 하므로 괄호가 필요하지만 이를 후위 표기 수식으로 나타내면 12+7* 으로 작성이 가능하여 괄호를 사용하지 않고서도 우선 계산해야 할 내용을 나타낼 수 있다. 또한 연산자의 우선순위도 생각하지 않아도 된다. 아래는 후위 표기 수식을 스택을 이용하여 계산하는 과정을 나타낸 그림이다. 피연산자(숫자)를 만나면 스택에 push ..

반응형