코딩한걸음
[BAEKJOON] 1753 최단경로
Coding Test/BAEKJOON 2023. 10. 27. 08:00

https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 문제 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작..

[Django 50문 50답] Django ORM의 장단점은 무엇입니까?
Python/Django 2023. 10. 26. 12:00

Q. Django ORM의 장단점은 무엇입니까? Django ORM의 장점은 생산성, 데이터베이스 독립성, 보안입니다. 생산성 : SQL 쿼리를 직접 작성하지 않아도 되므로 코드가 더욱 간결하고 가독성이 좋아집니다. 데이터베이스 독립성 : 다양한 데이터베이스 시스템에 독립적으로 동작하므로, 데이터베이스를 변경할 때 유용합니다. 보안 : 내부적으로 쿼리를 생성해 SQL Injection과 같은 보안 취약점을 줄일 수 있습니다. 단점은 성능 이슈가 있습니다. 성능 이슈 : N+1 문제, 불필요한 데이터 조회, 복잡한 쿼리의 ORM 사용 등 질문 의도 Django ORM에 대한 이해 : Django ORM을 사용하는 방법 뿐 아니라 그 장단점, 적절한 사용 시나리오에 대한 이해도를 가지고 있는지 확인 성능 이..

[Django 50문 50답] ORM에 대해서 설명하시오
Python/Django 2023. 10. 26. 08:00

Q. ORM에 대해서 설명하시오 ORM(Object-Relational Mapping)은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터를 매핑하는 프로그래밍 기술입니다. ORM을 사용함으로써 개발자는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스의 데이터를 객체로써 다룰 수 있게 됩니다. 이는 개발자의 생산성에 도움이 됩니다. 질문 의도 기본 지식 확인 : ORM에 대한 기본 지식을 가지고 있는지 데이터베이스 연동 이해 : ORM을 통해 SQL 쿼리 없이 데이터베이스와 상호작용하는 프로세스을 얼마나 잘 이해하고 있는지 예상 꼬리 질문 ORM을 사용하면서 성능 이슈를 겪은 경험이 있나요? 있다면 원인과 해결 방법은 무엇인가요? ORM만 사용하는 것과 직접 SQL 쿼리를 작성하는 것 중 어느..

[BAEKJOON] 1238 파티
Coding Test/BAEKJOON 2023. 10. 26. 08:00

https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제 N개의 숫자로 구분된 각각의 마을에 한 명의 학생이 살고 있다. 어느 날 이 N명의 학생이 X (1 ≤ X ≤ N)번 마을에 모여서 파티를 벌이기로 했다. 이 마을 사이에는 총 M개의 단방향 도로들이 있고 i번째 길을 지나는데 Ti(1 ≤ Ti ≤ 100)의 시간을 소비한다. 각각의 학생들은 파티에 참석하기 위해 걸어가서 다시 그들의 마을로 돌아와야 한다. 하지..

[Django 50문 50답] Django의 MTV 패턴 시스템은 무엇입니까?
Python/Django 2023. 10. 25. 12:00

Q. Django의 MTV 패턴 시스템은 무엇입니까? Django의 MTV 패턴은 Model-Template-View의 약자로 웹 어플리케이션의 구조를 나타냅니다. Model : 데이터베이스와의 상호작용을 담당하며, 데이터의 구조와 동작(CRUD 등)을 정의합니다. Template : 사용자에게 보여질 화면, 즉 프론트엔드 부분을 담당합니다. HTML 코드 내에 Django의 템플릿 언어를 사용하여 동적으로 데이터를 표현합니다. View : 사용자의 요청을 받아 로직을 처리하고, 적절한 응답을 반환하는 역할을 합니다. MVC 패턴에서의 Controller와 비슷한 역할을 하지만, 사용자에게 어떤 데이터를 어떻게 보여줄 것인지 결정하는 부분까지 담당합니다. 이 패턴은 소프트웨어의 각 구성요소의 역할을 분명..

article thumbnail
[Django 50문 50답] Django의 프로세스는 어떤 순서로 동작합니까?
Python/Django 2023. 10. 25. 08:00

Q. Django의 프로세스는 어떤 순서로 동작합니까? Django의 동작 프로세스는 크게 요청-응답 주기로 볼 수 있습니다. 사용자의 요청이 들어올 때, 처음으로 Django의 URL 디스패처가 해당 요청의 URL을 해석하여 적절한 뷰 함수나 클래스에 연결합니다. 이 때, 미들웨어들이 순차적으로 요청을 가공하거나 필터링할 수 있습니다. 선택된 뷰에서는 요청을 처리하기 위해 필요한 비즈니스 로직을 수행하며, 데이터베이스와 상호작용이 필요할 경우 ORM을 통해 쿼리를 수행합니다. 뷰에서 처리가 완료되면, 응답 객체를 생성하고 다시 미들웨어를 거쳐 최종적으로 사용자에게 응답을 반환하게 됩니다. 질문 의도 기본 지식 확인 : Django의 기본적인 동작 원리와 구조를 이해하고 있는지 요청-응답 주기 이해 : ..

article thumbnail
[프로그래머스] 프렌즈 4블록
Coding Test/Programers 2023. 10. 24. 09:00

https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며..

[프로그래머스] 오픈채팅방
Coding Test/Programers 2023. 10. 23. 09:00

https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 ..