분류 전체보기

알고리즘/그래프

[BOJ] 백준 17086 - 아기 상어 2 풀이

1. 문제 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸과 상어의 수가 각각 한 개 이상인 입력만 www.acmicpc.net 2. 풀이 BFS 문제이다. 처음 문제를 읽고, 예제 입력을 봤을 때는 무슨 말인지 이해가 안됬지만, 예제를 하나씩 따라가다 보면 충분히 이해할 수 있는 문제였다. 우선 점의 x, y 좌표와 그 점까지의 거리값을 넣을 static class를 하나 선언해준다. 그 다음 입력을 받고 점들을 반복문으로 탐색하면서 1이 아닌 0인 점부터 bfs 탐색을 시작한다. ..

알고리즘/구현

[BOJ] 백준 1931 - 회의실 배정 풀이

1. 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 2. 풀이 그리디 알고리즘과 정렬 알고리즘으로 분류되어 있는 문제이다. 처음에는 회의 시작 시간과 회의시간(종료시간 - 시작시간)을 클래스로 만들고 회의 시작 시간으로 정렬한 후 회의 시간이 가장 적은 것부터 개수를 세려고 했는데 잘못된 방법이었다. 이 문제의 핵심은 회의 종료시간을 기준으로 정렬한다는 것이다. 이해를 돕기 위해 한 블로그 분의 정리된 글에서 사진을 인용하였다. 이 사진은 입력으로 주어진 회의 시간을 종료 시간에 맞춰 오름차순으로 정렬한 것이다. 단!! 이 예제에서는 종료 시간이 같은..

알고리즘/문자열

[BOJ] 백준 1543 - 문서 검색 풀이

1. 문제 https://www.acmicpc.net/problem/1543 1543번: 문서 검색 세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한 www.acmicpc.net 2. 풀이 간단한 문자열 문제이다. 첫 번째 줄 입력을 input으로 받고 두 번째 줄 입력을 search로 받는다. 그 후 input안에 search가 있으면 replace 함수를 이용하여 다른 문자로 교체한다. 이때 문제에서 주어졌듯이 입력으로는 알파벳 소문자와 공백이 주어지므로 이를 제외한 문자 아무거나로 교체한다. 그리고 input을 인덱스 하나씩 탐색하면서 교체한 문자가 있으면 cn..

알고리즘/자료구조

[BOJ] 백준 13335 - 트럭 풀이

1. 문제 https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 2. 풀이 시뮬레이션 문제이므로 문제에서 주어지는 시나리오 대로 문제를 해결하면 된다. 문제를 처음에 보고 큐와 비슷하다고 생각했다. 그런데 처음엔 큐를 사용하지 않고 List를 사용하여서 문제를 해결하려 했는데 시간초과가 발생했다. 탐색을 여러 번 해야 하고, 불필요한 반복의 호출이 많아서 발생했다고 추측한다. 시간 초과 발생 후 다시 ..

알고리즘/구현

[BOJ] 백준 1713 - 후보 추천하기 풀이

1. 문제 https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 2. 풀이 시뮬레이션 문제로 시나리오 그대로 코드를 작성하면 된다. 우선 예제 입력 1에서 3번째 줄을 살펴보자. 3번째 줄 입력은 추천 받은 학생을 나타내는 번호가 빈칸을 사이에 두고 있다. 그렇다면 사진틀을 하나의 객체 참조 변수로 본다면 안에 들어가는 인스턴스는 어떻게 될까? 바로 추천 받은 학생, 추천수이다. 그래서 static class로 추천 받은 학생의 이름과 추천..

SpringBoot/기본 원리

[spring boot 기본 원리] 빈 스코프와 스코프 종류

1. 빈 스코프 - 스프링 컨테이너는 기본적으로 스프링 빈을 싱글톤으로 관리한다. - 이는 스프링 빈이 싱글톤 스코프로 생성됨을 의미한다. - 여기서 스코프란 빈이 존재할 수 있는 범위를 뜻한다. * 스프링이 지원하는 스코프 종류 1) 싱글톤 : 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프, 생명주기가 스프링 컨테이너와 같다. 2) 프로토타입 : 요청 시 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리 하지 않는 매우 짧은 범위의 스코프 3) 웹 관련 스코프 (1) request : 웹 요청이 들어오고 나갈때 까지 유지되는 스코프 (2) session : 웹 세션이 생성되고 종료될 때 까지 유지되는 스코프 (3) application : 웹의 서블릿 컨..

SpringBoot/기본 원리

[spring boot 기본 원리] 빈 생명주기 콜백

1. 빈 생명주기 콜백 - 네트워크 소켓이나 데이터베이스 커넥션 풀처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고 애플리케이션 종료 시점에 모두 종료하는 작업을 하려면 객체의 초기화와 종료 작업이 필요하다. - 외부 네트워크에 미리 연결하는 객체를 하나 생성한다고 가정해보자. - connect()를 호출해서 연결을 미리 맺고 disConnect()를 호출해서 연결을 끊는다. public class NetworkClient { private String url; public NetworkClient() { System.out.println("생성자 호출, url = " + url); connect(); call("초기화 연결 메시지"); } public void setUrl(String url) ..

SpringBoot/기본 원리

[spring boot 기본 원리] 조회 빈이 2개 이상일 때의 문제점 및 해결

1. 조회 빈이 2개 이상일 때 - @Autowired는 타입으로 스프링 빈을 조회한다. (ac.getBean("타입")과 유사) - 만약 스프링 컨테이너에 동일 타입의 빈이 2개 이상 존재하려고 한다면 NoUniqueBeanDefinitionException 오류를 발생시킨다. - 이 오류 메시지는 동일 타입의 빈이 fixDiscountPolicy, rateDiscountPolicy 2개가 발견되었다고 알려주는 메시지이다. - 이 오류를 해결하는 방법은 여러가지가 있지만 자동 주입에서 많이 사용하는 방법이 @Qualifier와 @Primary가 있다. 2. @Qualifier와 @Primary - 보통 조회 대상의 빈이 2개 이상이라면 크게 3가지 방법으로 해결할 수 있다. 1) @Autowired 필..

송승현(SSH)
'분류 전체보기' 카테고리의 글 목록 (11 Page)