이번에 게시판기능을 만들어볼까 한다. 간단한 게시판을 두개 정도 만들어 보았지만 제대로된 설계없이 무작정 코드를 작성하였다. 그래서 나중에 내가 새로운 것을 공부하고 이를 적용시키려고해도 코드가 너무 뒤죽박죽이기에 적용시키기가 어려웠다. 이런게 소위 말하는 유지보수가 어려운 코드인거 같다. 그래서 이번에는 제대로된 요구사항을 작성하고 DB를 설계한 뒤에 코딩을 진행해볼까 한다. 1. 주제 기본적인 CRUD 기능을 가진 게시판(로그인, 로그아웃, 글쓰기, 댓글) 2. 요구사항 1) 회원가입 회원가입에는 유효성 검사와 중복확인이 필요하다. 유효성 검사 닉네임은 2~15자이고 특수문자가 들어갈 수 없다. 아이디는 영어와 숫자로만 이뤄지고 20자 이하이여야 한다. 비밀번호는 한개 이상의 특수문자가 들어가야하고 ..
https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제생각 1은 단순히 합을 구해서 평균을 구하면되는 것이고 2는 수의 개수가 홀수개라고 하였으니 정렬 후 n//2번째 인덱스를 선택하면 되는 문제였다. 3번 최빈값에서 조금 고민을 하였다. 나는 입력을 받을 때 dic 형식으로 key는 숫자, value는 숫자의 개수로 정하여 이를 반복문으로 비교하여 최빈값을 구하도록 하였다. 4번은 정렬된 리스트에서 마지막인덱스와 처음 인덱스를 빼주면되는 문제였다. 문제코드 ..
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제생각 입력을 받고 단순히 비교를 통해 값을 구하면 된다고 생각하였다. 정답코드 n=int(input()) human=[] for _ in range(n): w, h=map(int, input().split()) human.append([w, h]) for i in range(n): num=1 for j in range(n): if(human[i][0]
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제생각 어떻게 이미 연속된 문자가 나왔고 끝났는데 다시 같은 문자가 나왔는가를 어떻게 코드로 풀어낼까 고민을 해보았다. 그래서 나는 리스트 공간을 하나 활용하기로 했다. 문제풀이 문자를 입력받고 Loop를 돌린다. 알파벳 하나가 리스트(비교를 위한 공간, 내 코드에서는 stack) 안에 없다면 append한다. 만약 리스트안에 있고 리스트이 마지막 문자와 같지 않..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제생각 소수를 구하는 문제이다. 제한시간도 2초인데 주어진 수의 개수가 100개 이하이고 숫자도 1000이하의 자연수이니 그냥 수 하나하나가 소수가 맞는지 검증하는 코드를 짰다. 문제풀이 1은 소수가 아니므로 바로 False 반환 // 2는 소수이므로 바로 True 반환 2부터 int(num**0.5)+1까지 루프를 돌려 전달된 수가 소수인지 검증한다. main에 True가 반환되어오면 ans에 +1을 하여 결과를 출력한다 def solution(num): if(..
https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제생각 제한시간이 1초였지만 연산을 시행할 구간이 적어서 브루트 포스라고 생각하였다. 문제풀이 1부터 10000까지 모든 숫자를 이용해서 위의 식대로 계산한다. 이때 결과값에 대응되는 list의 값을 1로 바꾼다. list에서 0인 인덱스를 출력한다. n_list=[0]*10000001 s, t=0, 10 for num in range(1, 10..
- Total
- Today
- Yesterday
- 서블릿#Servlet
- MVC
- 대충 만든 자판
- 1316번
- Spring
- controller
- arraylist
- 오류
- 게시판#자바#JPA#Entity
- 프로그래머스
- 스프링
- 백엔드#게시판
- 4673번
- 자바
- list
- HTTP#HTTP특징
- querydsl
- 파이썬
- springboot
- 백준#서강근육맨#20300
- 백준#잃어버린 괄호#1541
- 7568
- 1978
- this()
- 사탕 게임#백준#3085
- java
- 회고
- 백준
- 덧칠하기
- 11659
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |