본문 바로가기

분류 전체보기48

[Java] 백준 12865 평범한 배낭 952hi의 접근방법 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 1. 접근방법 배열을 여러개 사용하고 싶지 않다는 생각이 들어서 하나로 해결할 수 있는 방법을 고민했고 초기 1차원 배열을 무게만큼 생성하고 1~N개 모두 0으로 초기화한후 물건 1~M까지 차례로 끝 인덱스 부터 접근해 넣었을때 가치와 넣고 남은 무게의 가치 즉 직전 회전의 가치를 활용해 계산함 ex) 물건2 무게 4 총 배낭 무게.. 2022. 4. 18.
[Java] 백준 16463 13일의 금요일 https://www.acmicpc.net/problem/16463 1. 접근방법 윤년인지 아닌지에 따라 365일이냐 366일 이냐가 달라지므로 하루가 달라지면 3월부터 생각한 요일이 나오지 않을 것이다. 가장중요한부분 이라고 생각했다. 그래서 따로 함수를 둬서 12월이 지나고 새해가 오면 그해를 체크해주는 함수를 구현해 월별 마지막날을 배열로 관리해줘야겠다고 생각했다. 그 후로는 초기 1월1일 화요일 이므로 최초 금요일은 1월 4일로 4일에 7씩 더해서 계속 금요일만 만나서 13일인지 아닌지 체크해 주는 방법을 사용했다. 한달도 괜찮을거같은데 조금 복잡해서 주단위로 해야겠다 생각했다. 2.느낀점 크게 어렵지는 않았지만 더 효율적으로 짠다면 수식을 사용하면 될거 같다는 생각이 들었다. 3. 코드 impo.. 2022. 4. 18.
[Java] 백준 4195번 친구 네트워크 https://www.acmicpc.net/problem/4195 4195번: 친구 네트워크 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스의 첫째 줄에는 친구 관계의 수 F가 주어지며, 이 값은 100,000을 넘지 않는다. 다음 F개의 줄에는 친구 관계가 생긴 순서대로 주어진 www.acmicpc.net 문제바로가기 1. 접근방법 친구 네트워크라는 단어 친구 사이가 된다 이런 단어의 느낌에서 서로소집합의 느낌이 많이 났다. 그래서 유니온 파인드 사용해서 1번 2번 친구를 연결 후 부모를 갱신 부모가 같은 개수를 세서 값을 출력하하면 되겠다. -> 정상적으로 값은 출력이 가능했다. 하지만 시간초과 -> 시간을 잡아먹은부분은 갱신을 해주고 부모 배열을 1~n까지 모두 확인하기 때문이라 생각.. 2022. 4. 14.
[Java] 백준 1461 도서관 https://www.acmicpc.net/problem/1461 1461번: 도서관 세준이는 도서관에서 일한다. 도서관의 개방시간이 끝나서 세준이는 사람들이 마구 놓은 책을 다시 가져다 놓아야 한다. 세준이는 현재 0에 있고, 사람들이 마구 놓은 책도 전부 0에 있다. 각 책 www.acmicpc.net 1. 접근방법 첫번째 시도 음수 양수에서 가장 큰 수를 뽑아서 비교 후 작은수쪽을 첫번째 연산하고 가장큰수쪽을 마지막에 연산할때 마지막에 가장큰값을 한번만 더해주기 결과가 예상대로 나오지않음 (정상적으로 생각했는데 코드에 오류라고 생각함) 두번째 시도 음수 양수 각 배열을 만들고 각 배열별 총합을 구해 총합의 큰쪽은 나중에 연산하고 작은쪽을 먼저 해주고 마지막 연산 시 가장 큰값을 한번만 더해줌 두번째.. 2022. 4. 14.
[Java] 백준 11054 가장 긴 바이토닉 부분 수열 https://www.acmicpc.net/problem/11054 문제바로가기 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 1. 접근방법 1. dp기반의 LIS 알고리즘을 사용해야겠다 생각함 2. 처음에는 문제를 잘못이해해서 좌우로 같은 거리만큼 떨어진것이 바이토닉 수열인줄알아서 우측방향 LIS 왼쪽방향 LIS을 통해 각 인덱스별로 값이 같은거를 출력해주려고했음 3. 손으로 숫자 적어보면서 그냥 좌우로 길기만 하면된다고 판단해서 같은게 아닌 더해서 가장 큰값을 출력해주면 됐음 2. 실수 1. ->진행방향는 괜찮았지만 2022. 4. 11.
[Java] 백준 1613 역사 https://www.acmicpc.net/problem/1613 문제바로가기 1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를 알고 있는 두 사건의 번호가 주어진다. www.acmicpc.net 1. 접근방법 1. dfs, bfs, 다익스트라, 플로이드워셜로 풀 수 있겠다고 생각이 들었음. 2. 플로이드워셜을 자주 사용안해서 사용하기로 했음. 2. 실수 값이 뭐가 큰지 헷갈렸다 그러니까 어떤게 더 먼저 일어났는지 헷갈려서 바꿔줬음. 3. 코드 import java.io.*; import java.util.*; public class boj1613 { public sta.. 2022. 4. 11.
[Java] 백준 1003 피보나치 함수 https://www.acmicpc.net/problem/1003 문제바로가기 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 1. 접근방법 1. 재귀함수로 0 1일때 리턴해주고 숫자세서 출력해줘야겠다. 2. 시간초과-> 0.25초라 재귀적으로는 풀지못하고 dp로 풀어야겠다고 생각함. 3. 0,1일때 각각 출력해줘야하므로 dp테이블 2개를 따로 선언해 각각 더해주고 출력해주기로 생각함. 2. 실수 및 느낀점 1. 문제를 꼼꼼히 읽지않고 바로 내 방식으로 품 만약 테케를 제공해주지 않거나 채점결과를 알려주지 않는 테스트라면 분명 좋지 않을 것이라고 생각함. 2. dp로 풀어도 좀더 효율적으로 짤 수 있지않을.. 2022. 4. 11.
[Java] 백준 9012 괄호 클래스 2++ 도전기 https://www.acmicpc.net/problem/9012 문제바로가기 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 접근방법 1. 괄호에 짝이 맞으면 가능하겠구나 생각함 2. 그래서 여는괄호 닫는괄호수를 새서 같으면 YES해주려고하니 순서가 )))((( 이면 틀린 것이기 때문에 이방법으로는 불가능 3. 그래서 스택을 통해서 (나오면 스택에 넣고 ) 나오면 pop해주는 방식으로 구현해야겠다라고 생각함 구현시간 5분 2. 실수한 부분 1. )나오면 pop해줄때 st이.. 2022. 4. 9.
html css js jQuery 시험정리 MVC 모델 뷰 컨트롤 html css js FORM과 이벤트 사용자에게 입력받을 항목을 정의 폼테그 내부에 여러 개의 컨트롤요소를 포함 서버에 전송하기위해서는 폼테그 하위에 위치해야함 필드셋으로 하나로 묶음 레이블을 통해 문자열 연결 for -> id placeholder 회색으로 표시 value 값으로 표시 search 검색상자는 x표시가 있어 지우기 용이 라디오버튼은 name 속성이 모두 같아야함 속성이 같은 것중 하나 선택 체크박스는 name과 상관없이 다중 선택이 가능 셀렉트 옵션 드롭다운으로 표시 value값은 각 항목 값을 지정하기 위해 사용 optgroup를 사용해 레이블 가능 데이타리스트 인풋과 함께 쓰임 설명이 같이 표시가능함 여러줄입력할수있는 box textarea disabled 지.. 2022. 4. 7.
MVC Model1 vs Model2 차이 간단 정리 모델 1 모델 2 차이 로직처리와 뷰에 대한 처리 모두 수행하느냐 안하느냐 Model1 JSP페이지 하나에 view와 logic을 처리하는 구조를 말한다 장점 구조가 단순하며 직관적이기 때문에 배우기 쉽다 개발시간이 비교적 짧기 떄문에 개발비용이 감소 단점 디자이너와 개발자가 협업하는 느낌 확장성이 나쁘다 프로젝트 규모가 커지게 되면 코드가 복잡해지므로 유지보수가 힘들어짐 Model2 MVC 패턴을 웹개발에 도입한 구조이며 완전히 같은 형태를 보인다 Dao or JavaBeans 모델 JSP 뷰 Servlet 컨트롤러 장점 확장성이 뛰어남 기능에 따라 코드가 분리 되었기떄문에 유지보수가 쉬워짐 출력을위한 view 코드와 로직처리를 위한 코드가 분리되었기떄문에 JSP는 모델1에 비해 코드가 복잡하지 않다... 2022. 4. 7.
jsp 생각 정리 JSP 간단정리 주석 html 주석 jsp 주석 // 자바주석 자바주석과 html은 주석처리한 부분이 보이지만 jsp 주석은 아에 보이지 않음 절대주소 상대주소 절대적 상대주소 or 상대적 절대주소 / -> 포트번호 바로 뒤에 위치 ./ 현재디렉토리기준 ../ 상위디렉터리 servlet에서 url 쓸때 context안으로 한정되기때문에 /XXX.jsp로 적어도 가능함 하지만 하지만 html에서는 ../나./ 처럼 상대주소를 사용해야 오류가 발생하지 않음 전역? 변수 멤버? 선언처럼 가장 위 쪽으로 올라감 -> out.print(변수) 같이 사용하므로 공백과 세미콜론을 조심해야함 페이지 이동 forward(dispatcher) // sendRedirect(response) 동일서버 동일서버 포함 타 URL.. 2022. 4. 7.
[Java] 백준 19236 청소년 상어 https://www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 1. 접근방법 1. 문제를 읽어보면 딱히 어려운 설명은 없어서 천천히 읽어보고 이해한 후 풀어야 겠다고 생각함 2. 물고기 이동 함수, 상어 재귀 함수, 딥카피 함수 3개가 있으면 편하겠다고 생각함 2. 어려웠던점 좌측과 우측은 서로 독립적인 공간에서 작업하고 돌아오기에 같은 값으로 돌아와야했다. 하지만 그렇지 않았다... 객체를 생성하고 딥카피 할때 일반적인 2차원 배열처럼 복.. 2022. 4. 7.