Ssh로 ec2에 접속하여 build를 할 때 아무리 기다려도 빌드가 끝나지 않는 경우가 있다. git clone으로 프로젝트를 가져와 빌드했는데 빌드가 끝나지 않길래 환경설정을 잘못해 줘서 충돌이 난 건가 의심했는데 알고 보니의 메모리가 부족해서 일어난 문제였다. Aws ec2 프리티어인 t2.micro의 경우 램이 1gb이다. 1기가 가지고 스프링을 빌드하기엔 역부족이었나 보다.메모리가 더 큰 인스턴스를 사용하면 깔끔하게 해결할 수 있지만 과금 폭탄이 무섭기 때문에 차선책을 이용하여 해결했다. 바로 가상메모리를 사용하는 방법이다. Ec2의 디스크 용량을 램처럼 사용할 수 있다. 리눅스에서는 SWAP 메모리를 지정하여 HDD의 일부를 RAM처럼 사용할 수 있게 해 준다. 램을 증설한 효과를 얻는 것..
1. 소개 같은 지역에 속해 있는 사람들과 주변 상권에 대한 정보를 공유할 수 있는 서비스이다. 네이버지도나 카카오맵과 같은 지도 서비스에서는 얻기 힘든, 좀 더 사소하지만 식당 결정에는 영향을 미치는 정보들을 친구들과 공유하는 것을 목표로 한다. 친구 관계를 맺은 사람들과 공유하기 때문에 신뢰도가 높고 정확한 정보를 얻을 수 있을 것으로 기대한다. 2. 아이디어 구상 계기 군대를 전역하고 2년 만에 다시 학교로 돌아가보니 주변 상권이 너무 많이 바뀌어 있었다. 없어지고 새로 생긴 식당도 많았으며 기존의 식당들도 메뉴 구성이나 가격 등에 변화가 있어 내 기억과는 사뭇 달라서 당황한 적도 있었다. 바뀐 정보들을 친구들과 공유하면 이렇게 식당에서 당황하는 일을 줄이고 유용하게 활용할 수 있지 않을까?라는 생..
https://www.acmicpc.net/problem/2538 2538번: 모눈종이 자르기 첫째 줄에는 모눈종이의 가로 길이와 세로 길이를 나타내는 자연수가 빈칸을 사이에 두고 주어진다. 가로와 세로의 길이는 모두 200000 이하이다. 둘째 줄에는 오려내고자 하는 다각형의 꼭짓점 www.acmicpc.net 완전 구현문제였다. 처음에는 조각을 판정하고 각 조각의 칸을 dfs로 돌며 모눈종이의 경계선 또는 다각형의 둘레에 접하는 수만큼 카운트하여 둘레를 직접 계산하는 것을 구현했는데 입력 조건이 가로 세로 길이가 20만이어서 시간초과가 난다는 사실을 깨달았다. 그래서 입력받은 다각형의 꼭짓점 위치를 바탕으로 조각의 둘레를 계산하는 방법으로 바꿨다. 문제에서, 다각형의 꼭짓점을 입력받을 때 시계반대방향..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net 2차원 지도에서 특정조건을 만족하는 칸부터 상태가 변하며 모든 칸의 상태가 변할 때까지 걸리는 시간을 출력하는 문제이다. 전형적인 그래프 탐색에 구현이 붙은 문제이다. 1시간이 지날때마다 지도에서 몇 가지를 체크하는데, 외부 공기. - 치즈 내부에도 공기가 있는데 내부 공기 칸의 테두리의 치즈가 녹은 경우, 해당 공기 칸을 외부 공기로 바꿔줘야 한다. - airCheck()로 구현. ..
https://www.acmicpc.net/problem/2528 구현, 시뮬레이션 문제이다. 문제에서 제시하는 상황과 조건에 맞게 사다리를 오르는 동작을 구현하여 풀었다. Pair로 벡터를 만들어 각층마다 사다리의 왼쪽 끝점의 좌표, 오른쪽 끝점의 좌표를 저장했고, 사다리의 처음 위치는 사다리의 초기 이동 방향(d)에 따라 결정되기 때문에 d값에 따라 각층 사다리의 위치와 방향을 초기화시켜 줬다. 그리고 while(true) 문 안에서 사다리들이 1단위시간에 1칸씩 좌우로 움직이고 각 단위시간마다 철수가 다음 층으로 올라갈 수 있는지 체크하고 올라갈 수 있으면 y값을 증가시켜 줬다. 위 사진과 같이 두 층의 사다리 끝점에 맞물리는 경우에도 위 층으로 이동할 수 있다는 사실을 주의해야 한다. #inclu..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 문제에서 주어진 방향 순서대로 x, y 좌표 값을 x_dir[], y_dir[]에 각각 저장해두고 사용하였으며 로봇 청소기의 동작 순서대로 코드를 구현하였다. 현재 위치와 방향을 기준으로 왼쪽 방향으로 한 바퀴 탐색하면서 해당 좌표를 청소하지 않았다면 방향, 좌표를 바꾸고 새로운 방향과 좌표로 재귀호출해 준다. 네 방향 이미 방문했거나 벽이라면 로봇 청소기의 방향은 유지하고 좌표만 뒤로 한 칸 ..
https://www.acmicpc.net/problem/17611 17611번: 직각다각형 입력의 첫 줄에는 단순직각다각형의 꼭지점의 개수를 나타내는 정수 n(4 ≤ n ≤ 100,000)이 주어지고, 이어지는 n개 줄 각각에 단순직각다각형 꼭지점의 좌표 (xi, yi)가 차례대로 주어진다. 주어지 www.acmicpc.net 꼭짓점의 개수와 좌표가 입력으로 주어지고 해당 꼭짓점들을 순서대로 연결했을 때 만들어지는 직각다각형을 수직 또는 수평으로 지나는 선을 그었을 때 교점의 최대 개수를 출력하는 문제이다. 직각다각형이라는 조건이 있으므로 이웃하는 두 꼭짓점의 x좌표, y좌표 중 하나는 무조건 같다. 따라서, 이웃하는 두 꼭짓점의 x좌표가 같을 경우, 두 점의 y좌표 중 작은 값에서 큰 값까지 반복문을..