일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- GCP
- 11659
- List.of
- MySQL
- Spring MVC 동작원리
- 코드스테이츠 백엔드
- Spring MVC 구성요소
- 코드스테이츠
- 투포인터알고리즘
- Array.asList
- 인텔리제이
- 백준
- 코딩테스트
- vm인스턴스생성
- 프로그래머스
- Spring Web MVC
- 싱글톤패턴
- 버블정렬
- 알고리즘
- 성능테스트툴
- java
- 구간합구하기
- OOP
- 스택
- 클라우드에서 도커 실행하기
- 재귀와반복문
- String.valueOf()
- 자바
- 백준 11659
- 재귀함수
- Today
- Total
목록코딩테스트 (4)
순간을 기록으로

알고리즘의 성능 좋은 알고리즘이란 무엇일까? 상황에 따라 좋은 알고리즘에 대한 정의가 달라지겠지만 일반적으로 좋은 알고리즘이란 성능이 좋은 알고리즘이라고 할 수 있다. 그렇다면 알고리즘의 성능을 평가할 수 있는 지표는 무엇이 있을까? 알고리즘 성능을 평가할 수 있는 지표는 공간과 시간이 있다. 이 알고리즘이 수행하는데 얼마나 적은 메모리 공간을 차지하는가? - 공간 복잡도 이 알고리즘이 수행하는데 얼마나 빠른가? - 시간 복잡도 현대 기술이 발전과 함께 메모리 성능 발전도 이뤄지게 되었고, 따라서 상대적으로 성능 평가 지표 중 하나인 공간복잡도에 대한 중요성이 낮아졌다. 따라서 시간 복잡도(=얼마나 빠른가?)가 더 중요한 지표가 되었다. 그렇다면 알고리즘이 얼마나 빠른지, 즉 시간복잡도는 어떻게 알 수 ..

문제 풀이 배열의 연속된 원소와 관련이 있고 길이가 바뀌므로 투포인터 알고리즘이다. 코드 package 인프런.투포인터와슬라이딩윈도우.최대길이연속부분수열.방법1; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; public class Main { public int solution(int N, int k, int[] arr) { int answer=0; int count = 0; int start=0; for (int end = 0; end k) { // count가 k를 넘어가면 start 포인터가 0을 만날 때까지 오른쪽으로 이동시킨다. if (arr[start] == 0) count--; start++; } an..
문제 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 서로다른 가장 많은 종류의 폰켓몬을 반환하면 된다. 따라서 Set 자료구조를 이용해 중복은 무시하고 size() 메소드를 사용해서 서로다른 종류의 폰켓몬 갯수를 얻을 수 있다. 다만 처음 N/2마리라는 제한이 있으므로 만약 size 메소드에서 구한 값이 N/2보다 크면 N/2를 반환하고 그렇지 않으면 size 메소드에서 구한 값을 반환하면 된다. 코..
문제 https://programmers.co.kr/learn/courses/30/lessons/77884?language=java 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 풀이 약수에 대한 개념이 필요한 문제다. N의 약수란 N을 나누어 떨어지게 하는 양의 정수를 말한다. 예를들어 4의 약수는 1, 2, 3, 4가 있다. 3의 약수는 1, 3이다. 어떤 수가 나누어 떨어지는지는 알려면 나머지 연산(%)을 사용하면 된다. 만약 나누어 떨어지는 수라면 ..