전체 글 51

[LeetCode-242] Valid Anagram 문제풀이 - Java 사용

Valid Anagram 문제풀이 - Java 사용 매개변수 s와 t를 입력받으면 알파벳을 담은 변수를 생성하고 해당변수에 있는 값을 비교를하면서 값이맞으면 true를 리턴하는 방식 class Solution { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { return false; } // 알파벳을 담을 변수 2개 생성 -> 매개변수 s,t를 alph와 alph2에 담은후 값을 저장하여 비교할 예정 int[] alph = new int[26]; int[] alph2 = new int[26]; // 문자열 길이 만큼 for문을 돌려 alph와 alph2에 있는 자리에 값을 증가시킴 for (int i = 0; ..

[LeetCode-53] Maximum Subarray 문제풀이 - Java 사용

Maximum Subarray 문제풀이 - Java 사용 요약 : 정수배열이 있고 연속되는 부분 배열중에서 합이 가장 큰것을 리턴하라 방법1 -> for문 2개 사용 첫 번째 for문은 입력받은 값(매개변수)에 대해 길이만큼 돌면서 max값을 임시변수(tmp)에 저장하는 것 두 번째 for문은 tmp에 저장된 배열을 비교하면서 max값을 찾아 리턴 //[-2,1,-3,4,-1,2,1,-5,4] class Solution { public int maxSubArray(int[] nums) { int [] tmp = new int[nums.length]; tmp[0] = nums[0]; for(int i = 1; i max){ max = num; } } return max; } } 방법 2 -> 삼항 연산자이..

[LeetCode-13] Roman to Integer 문제풀이 - Java 사용

Roman to Integer 문제풀이 - Java 사용 로마숫자를 입력받으면 해당되는 아라비아숫자를 출력하게 하는 프로그램을 만드는 문제 필자는 map인터페이스 hashmap을이용하여 key와 value값을 저장하여 get메소드를 이용하여 문제를 풀었다 package leetcode13; import java.util.HashMap; public class Solution { public static void main(String[] args) { String s = "IX"; romanToInt(s); } // ex) IX(9)로 받았을 때 기준 public Static int romanToInt(String s) { System.out.println(s.length()); int res = 0; H..

[LeetCode-283] Move Zeroes 문제풀이 - Java 사용

Move Zeroes 문제풀이 - Java 사용 배열이 입력받으면 배열의 0값은 끝으로 이동하는 함수를 만드시오 class Solution { public void moveZeroes(int[] nums) { int i = 0; // forEach문을 사용 nums 값을 비교 for(int num:nums){ // 0이 아니면 nums[i++]자리에 num 값을 넣고 i 증가 if(num != 0){ nums[i++] = num; } } // 나머지 자리수에 0으로 채움 while(i

[LeetCode-237] Delete Node in a Linked List 문제풀이 - Java 사용

Delete Node in a Linked List 문제풀이 - Java 사용 싱글 연결리스트가 있는데, 함수에서는 노드 한개를 입력을 받는다. 입력 받은 노드를 연결리스트에서 삭제할 수 있는 방법을 찾는 문제 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public void deleteNode(ListNode node) { if(node == null ){ return ;} // 삭제노드를 기록 node.val = node.next.val; if(node.next.next != nu..

[LeetCode-217] Contains Duplicate 문제풀이 - Java 사용

Contains Duplicate 문제풀이 - Java 사용 주어진 정수배열에 중복 항목이 있는지 확인 중복되는 원소가 있을시 true 리턴 hashset을 이용 -> contains메서드를 이용하여 값이 중복되어 있는지 확인 class Solution { public boolean containsDuplicate(int[] nums) { // 매개변수가 없으면 false if(nums==null || nums.length==0){ return false; } // hashset -> HashSet은 기본적으로 중복된 원소를 허용하지 않음, // 순서 대로 저장 x HashSet distinct = new HashSet(); // forEach 사용 for(int num : nums) { // num값이..

[LeetCode-141 ] Linked List Cycle 문제풀이 - Java 사용

Linked List Cycle 문제풀이 - Java 사용 LinkedList가 Cycle을 가지고 있는지 찾는문제 head 에서부터 List를 순환하다가 다음 노드가 이전노드를 발견하면 Cycle이 있는 경우이니 바로 true를 return 한다. 이전에 있는 노드를 발견하지 못하고 next가 null 일 경우 Cycle이 없는 경우니 false를 return 한다. /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ //LinkedList가 Cycle을 가지고 있는지 // head 에서부터 Lis..

[Spring] Spring Security 기본 개념 요약 -1

1. Spring Security - 스프링 시큐리티는 스프링 기반의 애플리케이션의 보안(인증과 권한,인가 등)을 담당하는 스프링 하위 프레임워크이다. 스프링 시큐리티는 로그인 기능, 관리자 권한 등과 같은 기술을 좀 더 간편하게 구현할 수 있는 도구이다. 기존에는 세션과 인터셉터를 이용하여 개발자가 수동으로 관련 로직을 만들어야 했지만 스프링 시큐리티 기능을 이용하면 몇 가지 설정으로 기능을 구현할 수 있다. - 스프링 시큐리티의 동작을 이해하기 위해서는 가장 중요한 용어인 인증(Authentication)과 권한(Authorization)에 대한 이해가 필요함 인증 : 자신을 증명하는 것 권한 : 자격이 부여된 것 AuthenticationManager(인증매니저 구조) 1. providerManag..

[Spring] 기본개념 - 1 간단요약

1. Spring Framework - 자바(JAVA) 플랫폼을 위한 오픈소스(Open Source) 경량급 애플리케이션 프레임워크(Framework) - 프레임워크는 뼈대나 근간을 이루는 코드들의 묶음 -> 개발에 필요한 구조를 이미 코드로 만들어 놓았기 때문에 필요한 부분을 조립하는 형태로 개발 - 스프링 쓴이유 1. XML 이나 어노테이션(프로그램에 관한 데이터 제공) 등을 이용한 선언적 관리 가능 2. 개발의 복잡성 감소, 테스트 관리 및 유지보수가 좋음 3. 크기와 부하의 측면에서 경량 -> 제어역행(IOC)라는 기술을 통해 애플리케이션의 느슨한 결합을 도모 2. MVC - 모델(Model) 뷰(View) 컨트롤러(Controller) 합성어로 소프트웨어 공학에서 사용되는 아키텍처 패턴 - MV..