https://code-challenge.elice.io/courses/282926/lectures/2455429/lecturepages/21567984/ 알고리즘 문제집 | 엘리스 코드 챌린지 code-challenge.elice.io Day 3💡 풀이 과정괄호가 있는 문제는 연산 처리와 비슷하게 Stack 을 사용하면 편하다.모든 요소들을 Stack 에 집어넣고 ")" 가 나타나면 분기처리한다. "(" 를 찾을 때까지 진행하며, "(" 다음의 숫자만큼 스택에 존재하는 String 값을 곱해준다.python 에서는 "String" * int 를 진행하면 int 만큼 String 이 반복된다.이때, 뒤에서부터 진행하는 것이므로 문자열을 더해줄 때 Stack 에서 pop 한 값을 문자열 앞에 더해준다! ..
전체 글
행복한띠용이의 코딩 블로그입니다.https://code-challenge.elice.io/courses/282926/lectures/2455429/lecturepages/21567982/ 알고리즘 문제집 | 엘리스 코드 챌린지 code-challenge.elice.io Day 2💡 풀이 과정단순하게 i ~ j 까지 배열에서 정렬 시 k 번째 수를 반환하는 문제이다.입력 값들을 정렬시키면 더 효율적으로 풀 수 있을 것 같다.누적합처럼 요소들을 추가 삭제시키면서 정렬해나아가면 효율적일 것 같다.하지만 해당 문제 조건에서 n, m 이 그렇게 높지 않기에 매번 i ~ j 까지 배열을 정렬해서 k 번째를 반환했다.📌 포인트시간 복잡도를 고려하지 않았지만 통과고려한다면 입력값을 정렬시켜 누적합처럼 k 번째를 구했을 것이다.💻 코드impor..
https://code-challenge.elice.io/courses/282926/lectures/2455429/lecturepages/21567980/ 알고리즘 문제집 | 엘리스 코드 챌린지 code-challenge.elice.ioDay 1 💡 풀이 과정최대 6자리이기 때문에 완전 탐색으로도 가능하다. 가장 뒤에서부터 오름차순 상태인 두 숫자를 찾는다.해당 숫자를 발견하면 큰 수를 작은 수 위치로 이동시키고,뒷 부분에 대해서는 오름차순으로 정렬한다. 예시364[6, 4] 비교[3, 4] 비교 -> (3 463 -> 436555472[7, 2], [4, 2][4, 7] 에서 오름차순 발견555742 -> 555724N 보다 큰 수 중에서 가장 작아야하기 때문에 가장 작은 자리 수부터 바꿨을 때 N ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fda7lg4%2FbtsIuvK3upo%2FNDlb0AWONe3YeUKArMaPM1%2Fimg.png)
JAVA 만을 사용해서 웹 서버를 구성하던 중 정적 파일을 읽어 응답해주어야하는 경우가 있었다. String path = "src/main/resources/static/";File file = new File(path + uri); 위와 같이 프로젝트의 path 를 사용해서 정적 파일을 읽었다. 하지만 저 코드는 "src/main/resource/" 경로가 유지되어야한다. 굳이 말하자면 WEB-INF 나 webapp 같은 파일로 정적 파일을 관리한다면 해당 코드는 사용하지 못한다. 그리고 그런 것 보다는 기본 Path 정도는 시스템에 넣어서 쓰는 편이 좋지 않을까 싶어서 고치고자 한다. 1. Class Loader 결론적으로는 Resource 파일을 가져오기 위해서는 Class Loader 를 사용한..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbnUZp1%2FbtsIvl7xb71%2Fwtzl4zzPLBzNMQt3YzOQrK%2Fimg.png)
1. JVM 이란?Java Virtual Machine 으로 Java 라는 언어가 플랫폼에 자유롭게 실행될 수 있는 근간이다. Write once, run anywhere 우리가 .java 형식으로 작성한 파일들은 Java Compiler 를 통해 바이트 코드로 변환된다. 그리고 JVM 은 이 바이트 코드를 읽어내고 실제 실행시키는 역할을 한다. 그림과 같이 JVM 은 크게 Class Loader, Excution, Runtime Data Area 로 나눌 수 있다. 인터넷에서는 GC 까지 4 가지로 나누는 것도 있지만 GC 는 Excution 에 포함된다고 보는 것이 맞다 생각한다. (1) Class LoaderClass Loader 는 동적 로딩을 통해 필요한 클래스들을 로딩 및 링크하여 메모리..