Total 58

백준 3584: 가장 가까운 공통 조상 (java)

이 문제는 처음에 Union-Find랑 비슷해보여서 그래프로 접근했다가 망한 케이스다. 이후에는 여러 풀이 방법을 생각해봤는데 너무 복잡해져서 간단하게 구현할 수 있는 방법이 무엇일까 검색하다가 빵똥님의 풀이법을 참고하게 됐다. https://dhbang.tistory.com/34 그리고 찾아보니까 코테에서는 함수형 프로그래밍은 굳이 안해도 되는 것 같다. setParent()와 같은 함수는 그냥 바로 Main에 작성해도 될 것 같다. 알고리즘 트리: LCA 체감 난이도 ★ ★ ★ ★ ☆ 다시 풀 수 있는가? NO 1. isVisited 체크 isVisited로 방문한 노드를 체크하고, 다른 노드의 조상을 찾을 때 체크한 노드를 마주하면 break 한다. public void findCommonAnces..

Algorithms/Java 2023.12.28

백준 1717: 집합의 표현 (java)

2024년 새해 목표!! 1일1백준!! 근데 계절학기 들으면서 우주공강 때 할게 없어가지고.. 미리 시작해봤다. 언어는 나중에 백엔드를 지원할 생각이라 자바를 선택했다. 이번 1717번 문제는 자료구조 수업 때 한번 풀어봤던 문제인데, 그때는 전과 직후라 잘 모르는 상태에서 교수님 코드를 따라 치기만 했다. 이번에 다시 풀어보니까 훨씬 이해도 잘 되고 골드 문제임에도 금방 풀 수 있었다. 알고리즘 그래프: Union-Find 체감 난이도 ★ ★ ★ ☆ ☆ 다시 풀 수 있는가? NO 1. 재귀함수 x의 부모를 찾는 과정 중, 재귀함수를 써야한다는 생각을 못했다. 재귀함수로 (x == parent[x]) 할 때까지 타고타고 올라가야한다! public int findParent(int x) { if (x ==..

Algorithms/Java 2023.12.28

[멋쟁이사자처럼 11기] 어흥올림픽 후기

1. 어흥올림픽에 참여하게 된 계기 이제까지 교내 해커톤만 나가봤는데, 다른 학교와 연합하는 해커톤에 참여해보고 싶었다. 다른 학교 학생들은 어떤 역량을 가지고 있는지 확인해보고 싶었고 동기 부여 받고 싶었다! 2. 연합해커톤을 참여하며 좋았던 점 예상대로 다른 학교 학생들이랑 협업해볼 수 있었다. 나름 재미있는 경험이었다. 그리고 첫 교내 해커톤 때 못해봤던 AWS EC2 배포를 해볼 수 있어서 너무너무 뜻깊었다. 배포가 생각보다 어려웠고, 막히는 부분 때문에 하루가 훌쩍 가기도 했지만 결국에 배포에 성공하면서 큰 뿌듯함을 얻었다! 3. 연합해커톤을 참여하며 아쉬웠던 점 아쉬웠던 점은 크게 두가지가 있었다. 첫번째로, 일 분담의 문제였다. 중간에 주제가 바뀌면서 개발 방향이 완전히 바뀌게 되었다. 그래..

Python: 다른 디렉토리에 있는 파일 import 해서 실행시키는 법

디렉토리가 여러개일 때 사용하는 방법이다. 예를 들어 폴더 구조가 Atlas - Models - - - entityModels.py - Routes - - - GET - - - - - entityApi.py 이렇게 되어있었다고 치면, entityModels.py 를 entityApi.py 에서 import 하고 entityApi.py 를 실행시키고 싶을 때 가장 상위 폴더인 Atlas 에서 아래 명령어를 실행한다. python -m Routes.GET.entityApi.py

Algorithms/Python 2023.09.01

[멋쟁이사자처럼 11기] 교내 아이디어톤 후기

(7월 초쯤 끝난) 교내 아이디어톤 후기! 처음으로 제대로 된 백엔드 개발 프로젝트를 해봤다. 멋사에서 배운 장고 MTV를 사용해서 개발을 하게 됐고, 협업 툴은 github를 사용했다. 듣기로는, 장고 MTV가 프론트와 긴밀하게(?) 연결되어있다고 하는데 실제로 해보니 어떤 의미인지 알 수 있었다. 프론트가 한 작업물을 바로 볼 수 있고, 정보를 넘겨주고/받아오고, 잘 연결되는지 시각적으로 볼 수 있어서 초심자였던 나에게 굉장히 좋은 경험이었다! 아이디어톤 주제는 사회 문제에 대한 솔루션이었는데, '어벤져스' 팀에 들어가서 '릴렌즈'라는 스트레스 해소 서비스를 만들게 됐다! 이번 프로젝트를 하면서 좋았던 점 1. 첫 개발 프로젝트를 멘토+실력이 좋은 사람들과 했다. 아무래도 전과생이라 개발 프로젝트가 ..

백준 4386: 별자리 만들기 (java)

https://www.acmicpc.net/problem/4386 4386번: 별자리 만들기 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일 www.acmicpc.net 도현이는 우주의 신이다. 이제 도현이는 아무렇게나 널브러져 있는 n개의 별들을 이어서 별자리를 하나 만들 것이다. 별자리의 조건은 다음과 같다. 별자리를 이루는 선은 서로 다른 두 별을 일직선으로 이은 형태이다. 모든 별들은 별자리 위의 선을 통해 서로 직/간접적으로 이어져 있어야 한다. 별들이 2차원 평면 위에 놓여 있다. 선을 하나 이을 때마다 두 별 사이의 거리만큼의 비용이 든다고 할 때, 별..

Algorithms/Java 2023.05.19

[멋쟁이사자처럼 11기] 9회차: AWS 배포

Web - HTTP: 웹에서 서버와 클라이언트 사이에서 어떻게 메세지를 교환할지 정해 놓은 규칙 - URL: 특정 사이트에 접속하기 위한 주소 - HTML: 내용 Web Server - 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템 -> 인터넷 기반 Django 는 Web Server 인가? -> NO! Django 는 Web Application ! -> 웹에서 실행되는 응용 프로그램 Clients -> Web Server -> Web Application -> DataBase Server 실습 1. settings.py 가 있는 곳에 settings 폴더 생성 -> settings.py 폴더에 넣어주기 2. __init__.py 생성 3. settings.py 를 base.py..