전체 글
-
leetcode top interview 150 | Longest Substring Without Repeating Characters | Sliding windowPS 2023. 8. 29. 09:14
Question 주어진 문자열 s에서 반복되는 문자가 없는 하위문자열의 최대 길이를 리턴 Accepted Code - O(N^2) import java.util.*; class Solution { public int lengthOfLongestSubstring(String s) { int maxLen = 0; Set set = new HashSet();// set으로 문자열 중복을 체크 for(int left = 0; left
-
leetcode top interview 150 | Two Sum II - Input Array Is Sorted | Two PointerPS 2023. 8. 28. 15:37
Question 오름차순으로 정렬되어있는 정수형 배열이 주어졌을때 선택한 두 정수의 합이 target number에 해당 할 경우, index 위치를 담은 길이 2의 배열을 반환 동일한 요소를 두번 이상 사용할 수는 없는 One solution으로 구현 Not Accepted Code - Time Limit Exceeded class Solution { public int[] twoSum(int[] numbers, int target) { for(int i=0; i
-
leetcode top interview 150 | Valid Palindrome | Two PointerPS 2023. 8. 28. 14:29
Question 문장이 펠린드롬이려면 1. 모든 대문자는 소문자로 변환 2. 알파벳과 숫자가 아닌 것은 제거 3. 앞쪽에서 읽었을때와 뒷쪽에서 읽었을때가 동일해야함 주어진 문자열이 펠린드롬이면 true, 아니면 false로 리턴 Accepted Code - Two Pointer class Solution { public boolean isPalindrome(String s) { s = s.toLowerCase(); // 1번조건 int left = 0; int right = s.length() - 1; while(left= 'a' && c = '0' && c
-
leetcode top interview 150 | Best Time to Buy and Sell StockPS 2023. 8. 23. 23:27
Question i일마다 변동되는 주식가격을 담은 prices 배열이 주어지고, 주식을 구매한 일자의 다음날부터 판매할 수 있다. 이때 얻을 수 있는 최대 수익을 반환한다. Not accepted code class Solution { public int maxProfit(int[] prices) { int max=0; for(int i=0; i maxProfit) maxProfit = profit; } return maxProfit; } } solve 수익 = 판매한 가격 - 구매한 가격 수익이 최대화 되려면 판매한 가격과 구매한 가격의 차이가 커야한다. 따라서 판매가격은 크고 구매가격은 작아야한다. 그리고 구매한 다음에 판매할 수 있기 때문에 판매한 가격의 index는 구매한 가격의 index보다 항..
-
Spring REST API에 Swagger 3.0 적용하기Project 2023. 7. 2. 20:27
Swagger를 적용하면 postman처럼 body에 요청 데이터를 넣어 응답을 테스트 할 수 있다. 그리고 개발한 REST API들의 명세를 한눈에 파악할 수 있어 프론트가 없는 API만 개발했을 경우에 커뮤니케이션에 용이하다. 1. 의존성 추가 후 접속테스트 하기 implementation 'io.springfox:springfox-boot-starter:3.0.0' 만약 swagger2 로 적용하고 싶은 경우에는 해당 의존성을 추가한다 implementation 'io.springfox:springfox-swagger2:2.9.2' implementation 'io.springfox:springfox-swagger-ui:2.9.2' 1-1. /swagger-ui/** 경로로 들어오는 요청 허용하기 ..
-
java 프로그래머스 lv3 보석쇼핑 | sliding window + map 활용PS 2023. 6. 29. 17:32
https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 문제 풀기 전 고민하기 1. 물건을 싹쓸이 하는 습관이 있다. 범위 안에서 특정 구간이 빠지면 안된다. -> 범위 length를 정해놓고 범위 앞에 있는 인덱스 값을 빼고 범위 뒤에있는 다음 인덱스 값을 더하면서 확인해가는 슬라이딩 윈도우를 생각함 2. 모든 종류의 보석을 적어도 하나 이상은 다 포함시켜야 함 -> 보석 종류가 어떤게 있는지 input배열을 중복을 제거하는 Set 자료구조를 활..