6월 2일 금요일 TIL 회고록
어제는 건강 이슈로.. (상한 음식을 먹은 것 같아요..) TIL을 작성하지 못했다...ㅠㅠ
프로그래머스 코딩테스트 Lv 1
삼총사
문제 설명, 제한 사항 및 입출력 예
풀이
class Solution {
public int solution(int[] number) {
int answer = 0;
for (int i = 0; i < number.length; i++) {
for (int j = i + 1; j < number.length; j++) {
for (int z = j + 1; z < number.length; z++) {
if (number[i] + number[j] + number[z] == 0) {
answer += 1;
}
}
}
}
return answer;
}
}
1. 먼저 첫번째 학생의 정수 번호를 가지고 오기 위해 반복문을 사용했다. (int i = 0 ; i < number.length; i++)
2. 그리고 두번째 학생의 정수 번호를 가지고 오기 위해 반복문을 다시 사용했다. 첫번째 학생과 겹치지 않아야 하므로 i + 1을 사용했다.
(int j = i + 1 ; j < number.length; j++)
3. 마지막으로 세번째 학생의 정수 번호를 가지고 오기 위해 반복문을 다시 사용했다. 두번째 학생과 겹치치 않아야 하므로 j + 1을 사용했다.
(int z = j + 1; z < number.length; z++)
4. 그 후 if문을 사용해 number의 [i]의 값과, [j]의 값과, [z]의 값을 더한 값이 0이면 answer를 1 카운트 시키게 만들고 answer를 리턴시켰다.
정답률이 71퍼라 어려운 문제일 줄 알았는데 생각보다 쉬워서 당황스러웠다..
크기가 작은 부분문자열
문제 설명, 제한사항 및 입출력 예
풀이
import static java.lang.Long.parseLong;
class Solution {
public int solution(String t, String p) {
int answer = 0;
int len = p.length();
Long pNumber = parseLong(p);
for (int i = 0 ; i <= t.length() - len; i++) {
if (parseLong(t.substring(i,i + len)) <= pNumber) {
answer += 1;
}
}
return answer;
}
}
1. 문자열 p의 길이를 len에 넣었다.
2. Long.parseLong()을 사용하여 p의 있는 문자열을 Long 타입으로 변환시킨 값을 pNumber에 넣었다.
3. 반복문을 사용하였다. (int i = 0; i <= t.length() -len; i++) 조건문을 t의 길이에서 len을 뺀 값으로 한 이유는 반복문을 사용한 후 if문을 사용해 문자열을 잘라야하는데 len(p의 길이)를 빼지 않으면 StringIndexOutOfBoundsException 익셉션이 출력된다.
4. 그 다음 if문을 사용하고 subString을 사용해 t의 문자열을 자른 후 parseLong을 사용하여 Long 타입으로 변환시킨 후 pNumber보다 작거나 같으면 answer를 1 증가시킨다.
5. answer를 리턴한다.
많이 어려웠다.. 구글링을 조금 했다... parseLong을 사용하여 문자열을 Long 타입으로 변환시킬 줄은 꿈에도 생각 못했다 ㅋㅋㅋ..
대댓글(무한댓글) 기능을 드디어 만들었다.
설명을 하고싶은데 아직 나도 이해를 완전히 하진 못했다..ㅠㅠ
https://velog.io/@yoho98/게시글-댓글-대댓글무한댓글-로직
게시판 댓글, 대댓글(무한댓글) 로직
간단한 게시판 프로젝트를 만들면서 가장 힘들게 만들었던 로직 입니다. (부족한 부분 지적해주시면 감사하겠습니다.) 댓글, 대댓글 댓글, 대댓글에 대해 정보를 찾다가 찾은 컬럼정보를 토대로
velog.io
이분의 게시글을 보고 참고하며 만들었다. 정말정말 감사합니다..
계속 오류가 나와 쿼리문을 수정했다. 정말 정신 없었나보다.. 쿼리문에 오타가 많았다.
여기서도 .board를 하지 않아 h2 console에서 select * from comment를 하면 board_id 값이 null로 나왔었다.
지금은 발견해서 수정했다!
또 h2-console을 들어가면 localhost에서 거부했습니다 라고 나오며 들어가지지 않았는데 해당 블로그를 참고하여 고쳤다.
https://zyngirok.com/entry/Java-Spring-H2-Localhost-%EC%97%B0%EA%B2%B0%EC%9D%84-%EA%B1%B0%EB%B6%80
Java | Spring | H2 Localhost에서 연결을 거부했습니다.
localhost에서 연결을 거부했습니다 스프링 시큐리티(Spring security)를 적용한 이후 h2 접속이 거부되는 경우가 있다. 현재까지 파악한 원인은 두 가지이다. 원인 1 - 접근권한 설정 스프링 시큐리티를
zyngirok.com
원인 1은 시큐리티 설정할때 하긴 했었는데 원인 2번을 보고 따라했더니 오류가 해결됐다. 굿굿
드디어 무한 댓글이 끝났다.. 다음은 뭐를 해야할까.. 생각이 많아진다.