주말동안 알고리즘 수업 복습으로 프로그래머스 levelTest1을 풀었는데 테스트를 3번 볼동안 합격을 못해서 충격을 받아 매일 알고리즘 문제를 푸는시간을 가지자고 생각을 하였다
문제 1 문자열다루기
풀이
class Solution {
public boolean solution(String s) {
char[] array = s.toCharArray();
if(s.length() == 4 || s.length() == 6){
for (char c : array) {
if (Character.isLetter(c)){
return false;
}
}
} else {
return false;
}
return true;
}
}
Character.isLetter라는 메소드를 알면 쉽게 풀 수있는 문제였는데 모르고 있어서 IDE에 도움으로 메소드를 찾았다..
공부할땐 이것도 하나의 방법이겠지만 모르고는 어떻게 푸는지 궁금하다
class Solution {
public boolean solution(String s) {
if(s.length() == 4 || s.length() == 6){
try{
int x = Integer.parseInt(s);
return true;
} catch(NumberFormatException e){
return false;
}
}
else return false;
}
}
문제2 크레인 인형뽑기 게임
풀이
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> basket = new Stack<>();
Integer lastDoll = 0;
for (int i = 0; i < moves.length ; i++) {
for (int j = 0; j < board.length ; j++) {
if (board[j][moves[i]-1] > 0) {
basket.push(board[j][moves[i]-1]);
board[j][moves[i]-1] = 0;
if(basket.size() >=2) {
if(lastDoll.equals(basket.peek())){
basket.pop();
basket.pop();
answer+=2;
}
}
if(!basket.empty()){
lastDoll = basket.peek();
}
break;
}
}
}
return answer;
}
}
Entity에 @Column(name)은 db와 변수명에 의존성을 줄여주기 위해 달아주는게 좋다
질의 응답
강의 복습하면서 궁금한것들을 강사님께 여쭤봤고 답변을 받았다
DTO의 Validator로 충분한지 아니면 따로 더 구현을 하는지?
클라이언트와 서버 어디서 검증하는게 좋은건가?
영속성 컨텍스트에 생성시점과 계속 사용하는지에 대해서