전체 글178 29845 - Pipes 해석더보기$N$개의 파이프를 오른쪽에서 왼쪽으로 굴립니다. $i$번째 파이프의 반지름은 $r_i$입니다. 파이프를 다 굴렸을 때, 모든 파이프 중 벽으로부터 가장 먼 지점까지의 거리를 계산하세요step 1더보기시간복잡도를 무시하면 이 문제를 어떻게 풀 수 있을까요? $d[i]$ = 왼쪽에서 $i$번째 파이프가 벽에서 떨어진 거리$r[i]$ = 왼쪽에서 $i$번째 파이프의 반지름 이라고 합시다. $i$번째 파이프를 굴린다고 했을 때 이 파이프가$i-1$번째 파이프와 만날 때의 위치, $i-2$번째 파이프와 만날 때의 위치,...$1$번째 파이프와 만날 때의 위치, 벽과 만날 때의 위치를 전부 구하고 그 중 벽에서 가장 멀리 떨어진 지점이 답이 됩니다. 접하는 두 파이프의 반지름이 $r_1, r_2$일 때 .. 2025. 2. 10. 앱 개발 - 프로젝트 1 - 1. 돈 관리 앱 flutter 요즘 돈을 너무 낭비하고 있다는 생각이 들어서 가계부를 작성해 볼까 하고 있습니다.근데 대부분 가계부는 다 작성하기 귀찮게 되어 있더라고요. 그래서 최대한 간단하게 사용할 수 있는 용돈 관리 앱을 만드려고 합니다.프레임 워크 선정돈은 대부분 음식점이나 편의점처럼 밖에서 사용하는데 웹으로 만들면 쓰기가 불편하다는 생각이 들었습니다. 그래서 이번에는 앱으로 만들 예정입니다. 안드로이드와 ios 모두 지원하기 위해 flutter를 사용할 것입니다. 저번 프로젝트에서 서버를 만들어서 사용했더니 저 혼자 사용했는데도 aws 비용이 달에 6만원이 나왔습니다. 돈 관리를 하려고 하는 건데 돈을 쓰기에는 부담이 되어서 이번에는 firebase를 적극 활용할 예정입니다.fvm프로젝트를 만들다 보면 버전들이 충돌하는 경우.. 2025. 2. 7. 웹 개발 - 프로젝트 2 - 16. ec2에 java 올리기 ec2 설정프론트를 올렸으면 이제 백엔드를 올려야 합니다. ec2로 이동해서yum install java java-devel maven 로 java를 설치해 줍니다.java --version 으로 버전 확인이 가능합니다. java 설정React를 빌드한 것 처럼 Java도 빌드를 해 줄 것입니다. IntelliJ에서 ./gradlew build 를 이용해 빌드를 진행합니다. 그럼 build - libs 폴더에 SNAPSHOT이 생깁니다. 위에 있는 파일을 복사합니다. ec2의 원하는 곳에 붙여넣습니다. 실행다음 코드를 이용해서 실행을 시킵니다.nohup java -jar streak-0.0.1-SNAPSHOT.jar 1> /dev/null 2>&1 &nohub: 명령어를 실행한 후 로그아웃하거나 세션이.. 2025. 1. 24. 2244 - 민코프스키 합 step 1더보기다각형 A의 원점을 다각형 B의 한 꼭짓점으로 이동시켜 봅시다. 그때, 다각형 A가 차지하는 영역은 민코프스키 합에 포함됩니다. 이제 A의 원점을 B의 테두리를 따라 이동시킨다고 생각해 봅시다. 그때 A가 지나는 모든 영역은 민코프스키 합에 포함됩니다. 그리고 그 내부 역시 민코프스키 합에 포함됩니다. 다각형 A, B 둘 다 볼록다각형 1개로 이루어져 있으므로 이렇게 만들어진 영역 역시 볼록다각형입니다.step 2더보기모든 A의 꼭짓점 $(a_x, a_y)$과 모든 B의 꼭짓점 $(b_x,b_y)$에 대해 $(a_x+b_x, a_y+b_y)$를 계산합니다. 각 다각형은 최대 1000개의 꼭짓점을 가지므로 총 1,000,000개의 꼭짓점이 나옵니다.이 꼭짓점을 모두 포함하는 볼록다각형을 구.. 2025. 1. 20. 웹 개발 - 프로젝트 2 - 15. ec2에 react 올리기 프로젝트를 만들었으면 이제 사람들이 쓸 수 있게 배포를 해야합니다. aws의 ec2를 만들었다 가정하고 진행하겠습니다.ec2 세팅우선 vscode에 ec2를 연결하고sudo -i 를 이용해 관리자 계정으로 전환합니다. nginx를 이용해 홈페이지를 실행할 것입니다.amazon-linux-extras install nginx1 으로 설치합니다. 그럼 이런 에러가 저를 반깁니다. Amazon Linux 2023로 버전이 올라가면서 저 명령어가 사용이 안되는 것 같습니다. 대신dnf install nginx 로 설치해 봅시다.rpm -qa | grep nginx 명령어로 잘 설치가 되었는지 알 수 있습니다.프론트 빌드이제 프론트 코드로 이동합니다. 여기서npm run build 를 이용해서 코드를 빌드합니다... 2025. 1. 17. 20121 - 카드 셔플 step 1더보기카드가 $N$장 있을 때 제일 위를 0번째 카드, 제일 밑을 $N-1$번째 카드라고 합시다. $X$셔플을 한번 하면 $X$번째 카드는 $(X*2)\%N$으로 이동합니다. $Y$셔플을 한번 하면 $X$번째 카드는 $(X*2+1)\%N$으로 이동합니다.step 2더보기처음 카드가 $X$번째에 있다고 가정합니다. 한 번의 셔플을 했을 때 카드는 $(X*2)\%N\sim (X*2+1)\%N$에 있을 수 있습니다. 한번 더 셔플을 하면 $(X*4)\%N\sim (X*4+3)\%N$에 있을 수 있습니다. 한번 할 때마다 있을 수 있는 위치가 2배씩 늘어납니다. 그럼 대략 30번의 셔플을 하면 모든 위치를 커버할 수 있습니다.만약 목표하는 위치를 커버하게 되면 이 과정을 역으로 올라가면서 어떤 셔플을.. 2025. 1. 13. 이전 1 2 3 4 ··· 30 다음