분류 전체보기

    [Java / Spring] 20. 문서 출력방법

    이전 시간까지 우리는 ViewResolver와 TilesResolver를 사용하여 문서를 출력하였다. 만약 문서가 아닌, 단순한 문자열을 사용자에게 출력하고 싶다면 우리는 다른 두 가지 방법을 사용할 수 있다. 첫 번째 방법은 서블릿 객체를 얻어서 이를 활용하는 방법이다. 사용 방법은 다음과 같다. 즉, Front Controller에서 요청에 의해 HomeController를 가져오면서, response 객체를 넘겨주게되어 HomeController의 함수 안에서 해당 객체를 사용해 문자열을 출력할 수 있는 것이다. 두 번째 방법은 스프링에서 제공하는 방법을 사용하는 것인데, 사용 방법은 다음과 같다. @ResponseBody 어노테이션은 해당 함수가 반환하는 값은 Resolver에 의해 처리될 값이 ..

    [Java / Spring] 19. Root / HomeController

    지난 시간에 우리는 어노테이션을 이용하면서 컨트롤러 클래스의 구현 방식을 바꾸어보았다. 여기서 알 수 있는 점은 이제 해당 컨트롤러 클래스는 더 이상 컨트롤러로써의 역할을 하는 것이 아니며, 실질적인 역할은 컨트롤러 클래스 안에 구현되어있는 함수가 수행한다는 것이다. 따라서 해당 컨트롤러는 컨트롤러를 담고 있는 더 큰 의미의 컨트롤러를 의미하게 되며, 이를 표현하기 위해 컨트롤러의 이름을 특정 페이지에만 해당되는 이름이 아닌 RootController 또는 HomeController 등으로 바꾸어 주는 것이 좋다. 실질적인 컨트롤러의 역할을 하는 함수는 아래와 같이 구현하여 기존 컨트롤러의 역할을 수행할 수 있다. 이와 마찬가지로 공지사항 페이지에 대한 컨트롤러인 DetailController와 List..

    [Python] BOJ / 1202번 / 보석 도둑

    1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 📝 문제 세계적인 도둑 상덕이는 보석점을 털기로 결심했다. 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다. 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다. 가방에는 최대 한 개의 보석만 넣을 수 있다. 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는 프로그램을 작성하시오. 📜 풀이 최대힙(Max Heap)을 사용하여 ..

    [Python] BOJ / 1339번 / 단어 수학

    1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6,..