본문 바로가기

분류 전체보기

(695)
프로그래머스 코딩테스트 연습 : 나누어 떨어지는 숫자 배열 (20240311, java) 문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12910 나의 풀이 import java.util.Stack; import java.util.Arrays; class Solution { Stack stack = new Stack(); public Integer[] solution(int[] arr, int divisor) { for(int i = 0; i< arr.length; i++){ if (arr[i]%divisor == 0){ stack.push(arr[i]); } } Integer[] answer = stack.toArray(new Integer[stack.size()]); Arrays.sort(answer); Intege..
프로그래머스 코딩테스트 연습 : 서울에서 김서방 찾기(20240311, java) 문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12919 나의 풀이 import java.util.Arrays; class Solution { public String solution(String[] seoul) { String x = String.valueOf(Arrays.asList(seoul).indexOf("Kim")); String Kim = "김서방은 "; String exist = "에 있다"; return Kim + x + exist; } } 다른 사람의 풀이 class Solution { public String solution(String[] names) { for (int i = 0; i < names.lengt..
프로그래머스 코딩테스트 연습 : 콜라츠 추측 (20240311, java) 문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12943 나의 풀이 class Solution { public int solution(int num) { long result = num; if(num == 1){ return 0; }; for(int i = 0; i < 500; i++){ result = result % 2 == 0 ? result / 2 : result * 3 + 1; if(result == 1){ return i + 1; } } return -1; } } 다른 사람의 풀이 class Solution { public int solution(long num) { int answer = 0; while(num != 1..
프로그래머스 코딩테스트 연습 : 두 정수 사이의 합 (20240311, java) 문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12912 나의 풀이 import java.util.Arrays; class Solution { public long solution(int a, int b) { int[] numbers = {a, b}; Arrays.sort(numbers); long answer = 0; for(long i = numbers[0]; i < numbers[1]+1; i++){ answer = answer + i; } return answer; } } 다른 사람의 풀이 class Solution { public long solution(int a, int b) { return sumAtoB(Math.mi..
프로그래머스 코딩테스트 연습 : 하샤드 수 (20240311, java) 문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12947?language=java 나의 풀이 import java.util.Arrays; class Solution { public boolean solution(int x) { String[] harshad = String.valueOf(x).split(""); int sum = Arrays.stream(harshad) .mapToInt(Integer::parseInt) .sum(); return x % sum == 0 ? true : false ; } } 다른 사람의 풀이 class Solution { public boolean solution(int x) { int sum = S..
dev-camp Day6 코드 뜯어보고 개선점 찾고 계획 세우기 1. 코드 개선점 찾기 [SQL point 매핑 테이블 대신 Redis 사용] point라는 SQL 매핑 테이블 내의 컬럼이 아닌 Redis를 이용해 총 포인트 수를 저장하여 공간복잡도와 시간복잡도를 줄일 수 있을 것 같습니다. Point Log 테이블에는 User 테이블을 userId를 이용해 1:N 관계를 맺습니다. 포인트에 변동이 있을 때 마다 총 포인트 수를 포인트 로그 테이블에서 계산하여 저장합니다. Redis는 메모리 내에서 작동하기 때문에 읽기/쓰기 속도가 빠릅니다. 데이터 베이스 테이블을 1개 절약 할 수 있습니다. [regNo] User 엔티티에서 createdAt 을 Base Entity로 상속 받는다면 createdAt 기준으로 sort 하면 되기 때문에 User 테이블에서 regNo..
TIL 20240309 이번 주 목표 Spring Security 오늘 목표 점프 투 스프링부트 1강 완강 점프 투 스프링부트 2강 완강 오늘 한 것 점프 투 스프링부트 1강 완강 오늘 스케줄 오후 2:00 공부 오후 5:00 귀가 오후 7:00 스파르톤 오후 11:59 취침 1. EC2 인스턴스 서버 속도 느림 문제 배포는 제대로 되었는데 서버 속도가 느려서 그런지 페이지가 보이지 않는다. 시도 배포 그룹 변경 > 배포 파일들이 살아 있는데 실행이 안 된다. PM2도 떠 있다. 해결 EC2 인스턴스 중지, 재시작을 통한 VM이 있는 물리 서버 이동 알게된 것 물리서버 이동이 가장 빠른 해결책. 하지만 매번 물리 서버를 이동할 수 없으므로 추후에는 다른 해결책 강구. 2. List 자료형 List 순서가 있는 데이터의 집합 데..
dev-camp Day 5: CD 구축과 고민 CD : 자동 배포 (Github Actions, CodeDeploy) 1. master 브랜치에 push. 2. github Actions를 통해 자동으로 빌드. 3. 빌드된 파일을 압축하여 S3 버킷에 올림. 4. CodeDeploy를 이용하여 사용하는 EC2에서 S3버킷에 올라온 파일을 가져옴. 5. 압축을 해제 하여 배포. 6. PM2를 통해 올라온 파일을 자동으로 다시 띄움. CodeDeploy Event LifeCycle Hook ApplicationStop : 이전 프로그램(구 버전)을 중지하는 스크립트를 실행하는 단계. DownloadBundle : CodeDeploy에이전트가 새 버전을 인스턴스로 가져옴. BeforeInstall :구버전의 설치 구성을 저장, 파일 복호화 현재 버전의 백..