목표 앞뒤가 똑같은 숫자를 확인해보자 Palindrome 변수 타입에 상관없이 변수를 역전후 초기값과 비교하면된다. 반복문을 사용하여 ex) x =123; int temp => 3 -> 30 + 2 -> 300 + 20 + 1 요런식으로 계산하면 된다. class Solution { public boolean isPalindrome(int x) { if(xnum){ num=num*10+temp%10; temp/=10; } // System.out.println(ans); return ((num==temp) || (num/10)==temp); } } Linked List 문제는 어떻게 접근할까? Linked List 문제의 경우에는 내부 변수가 Integer 타입이며 만일 Integer 범위에서 벗어나는 ..
목표 이건 공부해도 모르겠더라 BackTracking 백트래킹 알고리즘이 모든 경우의 수 brute force와 비슷해서 이해를 못하는 듯 하다. 누가 정리한 백D브 차이 백트래킹 vs DFS 백트래킹은 이미 지나쳐온 곳을 다시 돌아가서 다른 가능성을 시도해보는 걸 반복하는 기법으로, 반드시 DFS만으로 가능하지 않고 BFS등으로도 가능한 기법이다. 즉, 정리를 하자면 백트레킹은 하나의 문제 해결 방법론이고 이러한 백트레킹을 구현하는 방법론 중 하나가 DFS이다. 백트래킹 vs 브루트포스 브루트 포스는 모든 경우의 수를 탐색하는 문제 해결 방법론이다. 이와 달리, 백트래킹은 단계마다 조건을 충족하는지 검사하여 조건을 충족하는 경우에만 계속해서 탐색한다. 즉, 정리를 하자면 브루트포스 모든 가지를 탐색하는..
layout: post title: "내 채널 페이지 메인화면을 꾸며보자" date: 2022-01-16 14:05:21 +0800 tags: Self-CodeReview color: rgb(255,90,90) author: KIM-JS-95 subtitle: 'CutLinePage를 업데이트 하자!' 목표 🤔🤔 메인화면을 보자 하니... 🤔🤔 굉장히 허전하다. 게다가 저 화면 링크는 어떠한 기능도 없는 장식이다. 게임 관련 사이트이며 포트폴리오로 사용하기 위해 멋을 추가할 것이다. 이미지 슬라이드 추가 유튜브 영상에서는 썸네일을 사용하는데 메인 페이지에도 추가하면 좋을듯 하다. 많은 선배 개발자분들이 이미지를 저장하는 방법은에서는 로컬저장법 AWS를 사용한다면 **AWS Bucket**을..
목표 나의 포트폴리오 게임 페이지는 배포까지의 괴정을 완료한 프로젝트이다. 그러나 지속적인 최적화 그리고 기능 추가를 위해 지속적 관리를 이어가고 있다. 게시판 기능의 완전한 기능을 구현하고자 추가적으로 Reply(댓글)기능을 추가 한다. 구성 Table 추가 댓글 기능의 경우 게시판 하나당 댓글정보는 여러개가 연결되기 때문에 @OnetoMany 양방향 매핑츨 시켜주어 사용하기로 한다. 추가적으로 게시판이 삭제될 경우 매핑되어 있는 댓글 또한 같이 지워질 수 있도록 cascade를 All로 지정하여 별도 삭제 기능 추가 없이 작업이 이루어 질 수 있도록 한다. 단, 추후 Account와 매핑할 경우 cascade 기능을 사용하지 않고 고아 객체로 만들어 두어야한다. @OneToMany(mappedBy =..
목표 나의 포트폴리오 게임 페이지는 배포까지의 괴정을 완료한 프로젝트이다. 그러나 지속적인 최적화 그리고 기능 추가를 위해 지속적 관리를 이어가고 있다. 현재는 그렇기 않지만 DB 모델링의 문제로 추후 Delay 현상이 발생한 문제가 있었다. 때문에 DB 모델링을 개성하기 위해 단일 객체 테이블 방식에서 다대일 방식을 적용하여 게시판 Table 과 댓글 Table 을 Mapping 하는 것을 목표로 한다. Before A. Account(사용자) Table public class Account { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Long id; @Column(nullable = false) @NotBlank private ..
최대 부분 합 구하기 SSAFY 7기 CT 문제에 출제되었던 문제로 1차원 배열에서 가장 큰 값을 가질 수 있는 연속적인 부분 배열을 찾는 문제에 사용되는 알고리즘이다. 많은 문제들이 시간, 공간 복잡성이 적은 카디안 알고리즘을 적용한 문제풀이를 선호한다. 카디안 알고리즘에서는 시,공간 복잡성이 O(n) 으로 다음과 같이 구현한다. LeetCode 53. Maximum Subarray 문제 링크 public int maxSubArray(int[] nums) { int sum = 0; int max = Integer.MIN_VALUE; for (int i = 0; i < nums.length; i++){ sum+= nums[i]; max = Math.max(sum, max); if (sum < 0) sum..
1. What is IOC ?? IOC(Inversion of Control) 스프링에서 일반적인 Java 객체를 new로 생성하여 개발자가 관리 하는 것이 아닌 Spring Container에 모두 맡긴다. 즉, 개발자에서 -> 프레임워크로 제어의 객체 관리의 권한이 넘어 갔음으로 "제어의 역전" 이라고 한다.\ IOC 개념의 등장 spring의 등장 이전 EJB (Enterprise JavaBeans) 개발자가 생성한 모든 객체는 직접 관리해야했고 로직이 개발의 규모가 커질 수록 코드의 복잡성과 함께 유지보수도 어려움이 커져갔다. spring의 등장 이후는 어땠을까? 새로운 프레임워크 spring은 3대요소를 외치며 등장했다. 개발자가 방대한 객체를 만들고 관리하는 과정이 어려워짐에 따라 본래의 로직..
1. 객체지향 객체지향의 개념은 1970년에 등장했으며 이전에는 C 언어처럼 실행하고자 하는 순서로 명령어를 처리하는 절차지향을 주로 사용해 왔다. 이후 프로그램의 복잡도가 높아지면서 이에 들어가는 유지보수, 개발기간 등의 다양한 부분에서 비 효율이 발생하면서 많은 개발자들이 효과적인 개발 방싱의 방법을 채택하게 되고 새로운 방식의 객체지향의 방법을 적용하게 된다 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정희하고, 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계하였다. 1-1 객체 설계하기 객체의 3 요소 상대 유지(객체의 상태)객체는 상대 정보를 저장하고, 유지되어야하며 이러한 속정은 변수로 정의 되어져야한다. 이러한 속성값이 바뀜으로 인하여, 객체의 ..
서론 내가 처음 Springboot 를 배울때 mvc 테스트 하는 방식에 대해 방법이 많았지만 모두 이해할 수 없었다. 이제는 MVC 테스트에 대해 정리가 필요하다 느껴 정리해본다. 본론 1. @WebMvcTest 컨트롤러의 정확한 동작 여부를 확인하기 위한 도구 때문에 @WebMvcTest(대상컨트롤러.class) 처럼 명시해줘야한다. @WebMvcTest 어노테이션을 사용시 다음 내용만 스캔 하도록 제한한다. (보다 가벼운 테스팅이 가능하다.) @Controller @ControllerAdvice, @JsonComponent, Converter, GenericConverter, Filter, HandlerInterceptor, WebMvcConf ● 장점 WebApplication 관련된 Bean들만..
- Total
- Today
- Yesterday
- 자격증
- 알고리즘
- Solid
- 수학
- ajax
- OOP
- 매트랩
- spring-cloud
- 면접
- 스프링부트
- docker
- JPA
- 프로그래머스
- Algorithm
- CS
- interview
- security
- 그래프
- java
- nginx
- 자바
- 백준
- 디자인패턴
- 스프링
- springboot
- C언어
- Spring
- Matlab
- kakao
- 릿코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |