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

정의 Bubble Sort는 Selection Sort와 유사한 알고리즘으로 서로 인접한 두 원소를 비교하고, 만약 조건에 맞지 않는다면 자리를 교환하여 정렬하는 알고리즘이다. 프로세스 1라운드에서는 1번째 원소와 2번째 원소 비교, 2번째 원소와 3번째 원소 비교, 3번째 원소와 4번째 원소 비교,..., (마지막-1)번째 원소와 마지막 원소를 비교하여 조건에 맞지 않으면 서로 교환한다. 1라운드가 끝나면 가장 큰 원소가 마지막 자리로 가게 되고, 2라운드에서는 정렬된 마지막 원소를 제외하고 1과 같은 로직으로 비교하여 정렬한다. 2라운드가 끝나게 되면 마지막에서 2번째 원소도 정렬이 된 상태다. 소스코드 public int[] bubble_sort(int size, int[] arr) { // rou..

문제 분석 LIS 문제. LIS문제는 dp를 이용해서 풀 수 있다. 이때 dp[i]에 무엇을 저장할 것인지가 중요하다. dp[i]: i번째 요소를 마지막으로하는 최대 증가 수열의 길이. dp[0]을 생각해보자. dp[0]은 0번째 요소를 마지막으로하는 최대 증가 수열의 길이를 저장해야 한다. 그러면 직관적으로 1이라는 것을 알 수 있다. dp[0]은 항상 1이기 때문에 초기화를 해줘야 한다. dp[1]은 1번째 요소를 마지막으로하는 최대 증가 수열의 길이를 저장해야한다. arr[0]이 5이고, arr[1]이 3이므로 최대로 만들 수 있는 길이는 1이다. dp2[]는 2번째 요소를 마지막으로하는 최대 증가 수열의 길이를 저장해야 한다. {5,7}, {3,7}이 있으므로 dp[2]는 2가 된다. 이런식으로 ..

문제 N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다. 입력 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) 출력 좋은 수의 개수를 첫 번째 줄에 출력한다. 예시 분석 좋은 수가 되려면 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있어야 한다. 예를들어 N이 3이고 1 2 3을 입력받는다고 가정하자. 3은 다른 두 수 1과2의 합으로 나타할 수 있으므로 좋은 수라고 할 수 있다. 로직을 생각한다면 갯수 N을..

https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 문제 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N이하여야 한다. 예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을..

문제 수 N개가 주어졌을 때 , i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하세요. 입력 첫째 줄에 수의 개수 N과 구해야 하는 횟수 N이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지의 합을 출력한다. 분석 데이터 갯수는 10만 개이고, 구간 합을 구해야 하는 횟수도 최대 10만 번이다. 즉 최악의 경우 시간 복잡도는 O(n^2). 연산이 10만^2번, 100억이 되어 100초가 걸린다. 제한시간이 0.5초이므로 단순히 이중 for문으로 문제를 풀 수 없다. 이 문제를 풀기 위해서는 구간합 알고리즘을 이용해야 ..

개요 안녕하세요. 루미너스입니다. 공부하다가 Arrays.asList와 List.of 기능은 같은데 뭐가 다른지 궁금해서 찾아봤습니다. 결론부터 말하자면 Arays.asList는 조금 더 자유롭고 List.of는 사용하기에 더 엄격하다고 생각하시면 좋습니다. 공통점 Array.asList와 List.of 모두 고정된 크기의 리스트를 반환합니다. 그렇기 때문에 새 요소를 추가하거나 삭제하면 UnsupportedOperationException이 발생합니다. 차이점1: List.of는 set으로 값을 변경할 수 없다. List list = Arrays.asList(1, 2, null); list.set(1, 10); // OK List list = List.of(1, 2, 3); list.set(1, 10)..

안녕하세요 루미너스입니다. 오늘은 스프링부트를 시작하려는데 Port 8080 was already in use 오류가 발생했을 때 해결하는 방법에 대해 설명드리겠습니다. 문제 스프링 프로젝트를 실행할 때 해당 포트가 이미 사용 중이라서 실행이 안되는 문제입니다. 이전에 웹서버를 사용하고 종료하지 않을 때 발생합니다. 해결 방법 맥 환경에서 해결하는 방법입니다. 터미널을 키고 'lsof -i :8080'을 칩니다 8080 포트를 사용하고 있는 PID 확인합니다. 'kill - 9 PID숫자'를 입력해서 해당 포트를 사용하고 있는 프로세스를 종료합니다. 다시 실행하면 정상적으로 작동합니다.

안녕하세요. 루미너스입니다. 오늘은 Spring MVC 동작 방식과 구성요소에 대해 배워보겠습니다. 개요 우선 간단히 Spring MVC에 대해 알아보겠습니다. Spring MVC는 클라이언트의 요청을 편리하게 처리해주는 프레임워크(모듈, 프로젝트)입니다. 전체 이름은 Spring Web MVC이지만 일반적으로 Spring MVC라고 불립니다. Spring MVC는 서블릿 기반으로 동작합니다. 위키백과에 보면 서블릿(Servlet)이란 웹페이지를 동적으로 생성하는 서버측 프로그램을 말합니다. 더 구체적으로 말하자면 서블릿은 웹서버의 성능향상을 위해 사용되는 자바 클래스의 일종입니다. 서블릿은 JSP와 유사합니다. 하지만 차이가 있습니다. 서블릿은 자바코드 안에 HTML을 포함합니다. 반면에 JSP는 HT..