인텔리제이를 사용해 스프링부트 프로젝트를 여러 개 실습하다 보니프로세스 포트를 제대로 끊어주지 않아 포트가 충돌하는 오류가 빈번하게 발생했다.매 번 찾아보는것도 번거로워서 그냥 블로그에 따로 정리해 두고자 한다. lsof -i :8080 Terminal로 lsof 명령어를 사용해 특정 포트번호를 점유하고 있는 프로세스 목록을 출력한다.lsof는 list open files의 약자로 시스템에서 열려있는 파일에 대한 정보를 출력해 주는 리눅스 명령어다. 해당 포트를 점유중인 프로세스 아이디(PID)를 찾아 kill 명령어를 사용해 강제로 종료한다.kill -9 66111
INFO난이도 : SILVER3문제유형 : DataStructure Dequehttps://www.acmicpc.net/problem/18115SOLVE앞 뒤가 모두 뚫려있는 Deque 자료구조를 사용해 문제를 풀이했다. 예제 입력2를 예시로 문제에서 제시해주는 값을 정리해보면 다음과 같다. 초기 상태 : 알 수 없음 기술 사용 순서 : 2 3 3 2 1최종 상태 : 5 4 3 2 1 즉, 기술을 거꾸로 사용하며 반대로 적용시키면 초기 상태를 구할 수 있다. n개의 명령을 저장할 n크기의 cmd 벡터를 정의한 뒤 명령을 입력받는다. int n; cin >> n; vector cmd(n); for(int i = 0; i > cmd[i]; } 명령을 뒤에서부터 반대로 ..
INFO난이도 : SILVER2문제유형 : Two Pointerhttps://www.acmicpc.net/problem/30804SOLVE단순 브루트포스 방식으로는 O(N^2) 만큼의 시간복잡도가 소요되기에, 시간초과가 발생한다. 따라서 2개의 포인터를 두고 모든 경우의수를 탐색하는 투포인터 알고리즘 (Two Pointer Algorithm) 을 사용해서 문제를 풀이했다. 탕후루 정보를 저장할 v 벡터와 각 과일의 번호 개수를 저장할 fruits 벡터를 저장한다. 문제 조건에서 총 1부터 9까지 번호가 붙어있다고 제시하였으니 fruits 벡터의 크기는 10으로 고정하고 Two Pointer 로직 내부에서 현재 탕후루 배열의 과일의 종류 개수를 판별하는 로직에서 활용한다. vector v(n, 0..