본문 바로가기

전체 글76

MVC 패턴, Session, Cookie 1.Model1 구조 2. Model2 구조 (MVC 패턴) - Model : Service, Dao, Java Beans ※ 로직을 처리하는 모든 것. ※ controller로 부터 넘어온 데이터를 이용하여 이를 수행하고 그에 대한 결과를 다시 controller에 리턴한다. - View : JSP - Controller : Servlet ※ 클라이언트의 요청을 분석하여 로직 터리를 위한 모덴단을 호출한다. ※ 리턴 받은 결과에 따라 request, session등에 저장하고 redirectm forward방식으로 jsp를 출력한다. 2024. 3. 20.
녹색 옷 입은 애가 젤다지?(BJ_G4_4485) 1. 문제 링크 https://www.acmicpc.net/problem/4485 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net 2. 나의 코드 메모리: 21020KB 시간: 264ms 코드 길이: 2376B 시간 복잡도 : O(N^2logN) 설명 - 다익스트라 알고리즘 사용 - 방문체크, map, result 이렇게 3가지의 2차원 배열을 사용 - bfs를 활용해서 4방 탐색을 하면서 우선순위큐에 넣는다. - 우선순위큐에서 하나씩 빼면서 전까지의 경로와 자신의 값을 더한 값을 resul.. 2024. 3. 10.
베스트앨범(PG_LV3_42579) 1. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 나의 코드 메모리: 76.1MB 시간: 1.30ms 코드 길이: B 시간 복잡도 : O(NlogN) 설명 - Map을 사용하여 각각의 장르별 재생수의 합을 저장 - Map을 사용해서 각각의 장르별 key값에 인덱스와 플레이 수가 들어간 리스트를 추가 - 정렬을 사용하여 2번까지 배열에 담기 import java.util.*; class Solution { static clas.. 2024. 3. 10.
미세먼지 안녕!(BJ_G4_17144) 1. 문제 링크 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 2. 나의 코드 메모리: 118100KB 시간: 384ms 코드 길이: 4732B 시간 복잡도 : O(N^2) 설명 - 리스트에 미세먼지 정보들을 저장 - 사방탐색 후 확산 - 바람의 방향을 미리 저장하여 공기청정기 가동 - 마지막으로 다시 맵을 탐색하여 리스트에 미세먼지 정보를 넣는다. import java.awt.*; import java.io.BufferedReader; i.. 2024. 2. 27.
마법사 상어와 토네이도(BJ_G3_20057) 1. 문제 링크 https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 2. 나의 코드 메모리: 84288kb 시간: 588ms 코드 길이: 4315B 시간 복잡도 : O(N^2) 설명 - 상하좌우 이동 시 확인해야 하는 곳을 따로 함수로 구현 - 맵 밖으로 나가면 result에 더하면서 달팽이 모양으로 탐색 import java.io.BufferedReader; import java.io.IOException; imp.. 2024. 2. 25.
마법사 상어와 비바라기(BJ_G5_21610) 1. 문제 링크 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 2. 나의 코드 메모리: 22864kb 시간: 264ms 코드 길이: 3527B 시간 복잡도 : O(M * N^2) 설명 - 모든 구름을 이동 - 이동한 좌표를 방문처리 - 이동한 곳을 기준으로 대간선으로 탐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; .. 2024. 2. 24.
마법사 상어와 파이어볼(BJ_G4_20056) 1. 문제 링크 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 2. 나의 코드 메모리: 40540kb 시간: 732ms 코드 길이: 4868B 시간 복잡도 : O(KM) 설명 - 먼저 모든 파이어볼을 이동시킨 후 합치기 - 합치는 과정에서 다음 객체와 같은지 다른지 비교 - 시작과 끝 인덱스를 사용하여 같은 위치에 있는 것들은 인덱스 리스트에 추가(끝나면 삭제) - 추가해야 할 객체도 리스트에 추가 후 .. 2024. 2. 24.
다리 만들기 2(BJ_G1_17472) 1. 문제 링크 https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net 2. 나의 코드 메모리: 14352kb 시간: 128ms 코드 길이: 5993B 시간 복잡도 : O(섬의갯수^2). 설명:먼저 DFS를 통해서 섬의 갯수를 알고, 섬의 번호를 부여한다. 그리고 조합 알고리즘을 사용하여 섬들간의 경우의 수를 구하고 BFS를 사용해서 섬들간의 최소거리를 구한다. 마지막으로 크루스칼 알고리즘을 사용하여 최소 간선의 합을 구한다. i.. 2024. 2. 22.
아기 상어(BJ_G3_16236) 1. 문제 링크 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 2. 나의 코드 메모리: 26748kb 시간: 352ms 코드 길이: 2714B 시간 복잡도 : O(N^4) // BFS의 최악의 경우는 노드 수의 제곱 설명: BFS를 사용해서 모든 곳을 방문한다. 만약 상어가 먹을 수 있는 곳이라면 리스트에 추가한다. 모든 곳의 방문이 끝났으면 리스트를 정렬해서 첫 번째 자리의 값을 0으로 바꾸고 먹어 치운다. import java.ut.. 2024. 2. 21.