분류 전체보기 162

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (17~18번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

17. 귤 고르기 import java.util.*; class Solution { public int solution(int k, int[] tangerine) { int answer = 0; Map map = new HashMap(); for(int size : tangerine){ map.put(size, map.getOrDefault(size, 0) + 1); } List list = new ArrayList(map.keySet()); list.sort(((o1, o2) -> map.get(o2) - map.get(o1))); for(int i : list){ if(k

[Spring Boot + AWS] Spring Boot + S3를 활용한 이미지 업로드 하기 (프로필 사진)

1. AWS S3 생성 1-1 버킷 생성 AWS 사이트에 들어가 로그인을 해준 후 S3탭에 들어가서 [버킷 만들기] 버튼을 누른다. 설정은 위의 설정만 똑같이 해주고 다른 설정은 건들 필요 없이 [버킷 만들기] 버튼을 눌러준다. 1-2 버킷 생성 확인 위와 같이 버킷이 생성이 되었다면 [다음]으로 넘어간다. 2. IAM 설정 2-1 사용자 생성 IAM을 검색해서 들어간후 [사용자 생성] 버튼을 누른다. 사용할 이름만 작성 후 [다음]으로 넘어간다. 다음 버튼을 누르면 이 화면이 뜬다. 세 번째 직접 정책 연결 버튼을 누른 뒤, 검색 창에 s3 full을 쳐서 AmazonS3 FullAccess 버튼을 체크 후 [다음]으로 넘어간다. [사용자 생성]을 눌러 주면 된다. 2-2 액세스키, 시크릿키 저장 2-..

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (11~12번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

11. 영어 끝말잇기 import java.util.*; class Solution { public int[] solution(int n, String[] words) { int[] answer = new int[2]; Map map = new HashMap(); for(int i=0; i 0){ if(n%2 == 0){ n/=2; } else{ n--; ans++; } } return ans; } } while의 실행조건을 n이 0보다 클때로 걸었다. 그 뒤 내부에서는 n이 2로 나눠 떨어질 수 있으면 n을 2로 나눈다. 만약 홀수라면 n에서 1일 빼주고 ans에는 1을 더해서 카운트를 올려준다. n이 0보다 작아질 때까지 반복한 뒤 ans를 반환해 주면 된다.

[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 2 (9~10번 문제풀이) / Level 0 (224/224) / Level 1 (77/77)

9. 짝지어 제거하기 import java.util.*; class Solution { public int solution(String s) { int answer = -1; Stack stack = new Stack(); for(char ch : s.toCharArray()){ if(!stack.isEmpty() && stack.peek() == ch){ stack.pop(); } else{ stack.push(ch); } } if(stack.isEmpty()){ answer = 1; } else{ answer = 0; } return answer; } } stack을 하나 생성했다. 그 뒤 문자열 s를 char형으로 변환시킨 뒤 forEach문을 사용했다. if문을 사용해서 stack이 비어있지 않고..

[Spring Boot + Swagger] Swagger 적용하기 [SpringBoot 3.x.x 버전]

1. Swagger API를 설계, 빌드, 문서화하고 테스트하는 데 사용되는 강력한 프레임워크. 주로 RESTful 웹 서비스의 API를 문서화하는 데 사용되며, 다양한 언어와 플랫폼 간의 통합을 용이하게 만들어 준다. 1.1 Swagger 주요 기능 - API 문서화 - API 시각화 - 테스트 기능 - 다양한 포멧 지원 2. 사용 버젼 - Spring Boot 3.1.3 - SpringDoc-OpenApi v2.1.0 3. 프로젝트에 Swagger 적용하기 3.1 의존성 추가 // swagger implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.1.0' build.gradle에 의..

[SSE] 알림기능에 SSE (Sever-Sent Events)를 사용한 이유?

개요프로젝트에서 SSE를 사용해 실시간 알림 기능을 구현하였다. 가볍게 스쳐 지나갔지만 다시 보니 조금 더 공부해보고 싶어서 찾아봤다. SSE의 장단점, WebSocket의 장단점을 비교하여 SSE를 사용이 적합했던 이유를 작성. 1. SSE서버로부터 보낸 메시지를 클라이언트 측에서 받을 수 있는, 단방향 메시지를 지원하기 위한 웹 기술이다. 주로 웹 애플리케이션에서 실시간 업데이트를 제공하는 데 사용되며 서버에서 클라이언트로 데이터를 전송할 수 있게 해 주며, 클라이언트는 이를 수신하여 웹 페이지의 동적 업데이트나 실시간 정보 표시에 활용할 수 있다. 이벤트 스트림(Event Stream) 형태로 데이터를 보내므로, 연결이 한 번 만들어진 후 서버에서 주기적으로 데이터를 전송할 수 있다. 1.1 SSE..

프로필사진

남건욱's 공부기록

반응형