목록Java (371)
기록방
👉 문제링크 27172번: 수 나누기 게임 《보드게임컵》을 준비하다 지친 은하는 보드게임컵 참가자들을 경기장에 몰아넣고 결투를 시키는 게임 《수 나누기 게임》을 만들었습니다. 《수 나누기 게임》의 규칙은 다음과 같습니다. www.acmicpc.net 🔸 문제 분석 🔸 최대 10만개의 서로 다른 수가 적힌 카드가 있다. 이때 수는 1~100만 사이의 정수이다. 카드들을 서로 결투를 벌여서 나누어 떨어지면, 나누는 수는 +1, 나누어진 수는 -1 점을 받는다. 모든 카드들을 결투시켜 최종 점수를 출력한다. 🔸 문제 풀이 🔸 N이 10만이므로 O(NlogN)로 비교하면, 100억번으로 제한 시간인 1초를 초과하게 된다. 에라토스테네스의 체를 활용해서 소수가 아닌, 카드 숫자의 배수 인덱스만 확인해서 결투를 진..
👉 문제링크 2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 🔸 문제 분석 🔸 N개의 꼭지점으로 이루어진 다각형의 정보가 주어진다. 다각형의 넓이(면적)을 소수점 둘째 자리에서 반올림하여 첫째 자리까지 출력한다. 🔸 문제 풀이 🔸 신발끈 공식 (Shoelace formula)의 전형적인 연습 문제이다. x좌표와 y좌표를 입력받아 공식을 구현하고, 소수점 첫째 자리까지 반올림해 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io...
길벗 IT도서에서 주관하는 코딩 자율학습단 8기 : Spring Boot 파트에 참여한 기록입니다 [ 목록 ] 2.1 뷰 템플릿과 MVC 패턴2.1.1 뷰 템플릿이란뷰 템플릿(View Template)은 화면을 담당하는 기술로, 웹 페이지(View)를 하나의 틀(Template)로 만들고 변수를 삽입해 페이지를 보여줌머스테치(Mustache)가 바로 뷰 만드는 뷰 템플릿 도구2.1.2 MVC 패턴뷰(View) : 뷰 템플릿컨트롤러(Controller) : 클라이언트의 요청에 따라 서버에서 이를 처리하는 역할모델(Model) : 데이터를 관리하는 역할MVC 패턴(Model-View-Controller Pattern) : 웹 페이지를 화면에 보여주고(View), 클라이언트 요청을 받아 처리하고(Control..
👉 문제링크 13172번: Σ 모듈러가 11에서 1,000,000,007이 되어 답이 달라졌지만, 역시 3을 곱한 다음 1,000,000,007으로 나눈 나머지는 7이 된다. www.acmicpc.net 🔸 문제 분석 🔸 주사위 M개에 대해 i번째 주사위의 면 개수는 Ni, 면의 모든 값의 총합은 Si로 입력된다. 모든 주사위를 던졌을 때의 기대값을 계산한다. S1/N1 + S2/N2 + ... + SM/NM 계산의 어려움 때문에 임의의 분수 a / b를 모듈러를 이용해 (a * b-1 mod x)의 정수 값으로 계산한다. 🔸 문제 풀이 🔸 문제의 수학 이론 설명이 꽤 길지만, 읽어보면 이해 못할 정도는 아니다. 보다 정확한 확률 계산을 위해 모듈러 표현 방식을 사용한다는 것이다. 문제에서 제시된 공식을..
👉 문제링크 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 🔸 문제 분석 🔸 중간 원소를 기준으로 오름차순 후 내림차순이 이어지는 수열을 바이토닉 수열이라고 한다. 주어지는 수열의 부분 수열 중 가장 긴 바이토닉 수열의 길이를 출력한다. 🔸 문제 풀이 🔸 각 인덱스 별로 가장 긴 오름차순 수열과 가장 긴 내림차순 수열의 길이를 따로 구해 저장한다. 같은 인덱스의 두 값의 합 중 최대값을 출력한다. 🔸 코드 🔸 import java.io.*; import java.util.StringTokenizer; public class Ma..