https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 문제생각 앞서 풀었던 구간 합 구하기4랑 비슷하게 해결하면 될거라고 생각했습니다. 그래서 가로 누적합 또는 세로 누적합을 구하고 주어진 구간에 따라 누적합을 더하고 구간이 아닌 부분의 누적합을 빼는 방식으로 다가가려고 하였습니다. 그런데 어디서부터 잘못된건지 시간초과가 어마어마하게 났습니다... 아래의 코드는 시간초과가 난 코드입니다.(이 외에도 시간초과..
https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 문제생각 굉장히 쉽게 생각하였습니다. 입력을 받고 리스트 슬라이싱을해서 sum() 연산만 하면 된다고 생각했고 그런 방식으로 코드를 구성하였습니다. 그런데 시간초과가 발생하였습니다!! 알고보니 리스트 슬라이싱의 시간복잡도가 꽤 높았던 것입니다. 무려 O(k)!!! 여기서 k는 슬라이싱을 해야하는 원소의 개수입니다. 이 슬라이싱 작업을 최대 10만번 해야했고 sum 연산까지 ..
https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 문제생각 제한시간도 충분하고 입력받는 수나 리스트의 크기가 그렇게 크지 않아서 간단한 구현 문제라고 생각하였습니다. (정답비율이 19프로라서 문제 풀기 전에 겁먹었습니다...ㅎ) 남학생의 경우에는 단순히 반복문을 돌려 배수를 찾아 이를 바꿔주기만하면 끝납니다. 여학생의 경우에는 좌우대칭을 확인해야하는데 저는 투 포인터 방식을 사용하여 확인하고 바꿔주었습니다. 여기서 투 포인터 방식이란 두개의..
https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net 문제생각 처음에는 n번 입력 받는 값을 dictionary 형태로 저장하고 m개의 값이랑 비교를 하면 될 것 같았습니다. 하지만 시간 제한과 입력받는 값의 범위를 보아하니 위의 방법은 통하지 않겠다고 생각하였습니다. 그래서 리스트에 인덱스도 사용하고자 했지만 입력받는 범위도 10^9 라서 메모리초과가 날거 같았습니다. 한참 고민하다가 알고리즘 분류를 보았..
게시판에 댓글기능을 만들고 나서 글 삭제 기능을 해보았는데 글 삭제가 되지않고 위와 같은 오류가 발생하였다. 위의 오류가 왜 발생하였는지 검색해보았다. 원인 삭제대상테이블을 외래키로 참조하는 다른 테이블이 존재하기 때문에 발생한다. 나는 댓글 테이블에서 외래키로 게시판 테이블을 참조하였다. 그래서 게시판을 삭제하려고 할 때 위의 오류가 발생한 것이다. 해결방법 위의 게시글을 삭제하기 전에 댓글 테이블에서 해당 게시글을 참조하고 있는 댓글 까지 삭제한다.
나는 이전에도 게시판을 두번정도 만들어 보았는데 그 때는 별다른 설계나 생각도 없이 바로 코딩에 들어갔다. 그래서 그런가 다른 기능을 추가하고 싶어도 내가 어디에 어떤 코드를 수정하고 추가해야할지 바로 찾기가 어려웠다. 이것이 개발자분들이 말하던 유지보수가 어려운 코드인것 같다. 그래서 이전 글에서 나는 어느정도 Entity에 대한 스펙을 만들었고 이를 토대로 개발에 들어갔다. 한명의 회원은 여러개의 댓글을 등록할 수 있으므로 1:N의 관계를 가진다. => 댓글 엔티티에서 회원 엔티티에대한 외래키를 가진다. 한개의 글은 여러개의 댓글을 가질 수 있으므로 1:N의 관계를 가진다. => 댓글 엔티티에서 게시글 엔티티에대한 외래키를 가진다. 한명의 회원은 여러개의 글을 가질 수 있다. 1:N의 관계를 가진다...
- Total
- Today
- Yesterday
- list
- 스프링
- 오류
- 11659
- 회고
- 게시판#자바#JPA#Entity
- 백엔드#게시판
- 7568
- 파이썬
- 1316번
- 프로그래머스
- java
- springboot
- 대충 만든 자판
- HTTP#HTTP특징
- MVC
- 1978
- 백준#잃어버린 괄호#1541
- 서블릿#Servlet
- 덧칠하기
- querydsl
- 4673번
- 백준
- 사탕 게임#백준#3085
- 백준#서강근육맨#20300
- this()
- arraylist
- 자바
- Spring
- controller
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |