분류 전체보기372 [PS] 백준 11049 행렬 곱셈 순서/최대한 자세히 설명해보기 - 자바 풀이 행렬 곱셈 순서 행렬 곱셈 순서에 대한 문제이다. 행렬은 곱 연산시 순서에 상관없이 같은 결과값을 보장하나, 곱셈 순서에 따라 곱셈 연산 횟수가 달라지게 된다. 해당 연산을 최소화 했을 때 몇 번인지 구하는 문제이다. 행렬의 곱셈 순서를 정하는 것은 대표적인 DP알고리즘 사용 사례라고 한다. 이 문제를 혼자 풀기에 실패하였기에 풀이를 보고 이해한 바를 정리한다. 접근 과정을 최대한 자세히 기술하였다. 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경.. 2023. 12. 13. [면접 준비] 운영체제 면접 질문과 답 정리 저는 JAVA 백엔드 개발자, 혹은 React 프론트 엔드 개발자를 목표로 하는 취업 준비생입니다. 면접에서 대답할 주요 관심 주제는 Spring, Java, JavaScript, TypeScript, OS, Network, DB, Docker입니다. 제가 사용해본 기술 중 통합, 정리한 면접 관련 내용을 정리합니다. 틀린 내용이 있다면 댓글로 지적해주시길 바랍니다. 감사합니다 ❓ 운영체제의 역할에는 무엇이 있나요? 더보기 운영체제란 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 하는 소프트웨어이다. 운영체제의 역할 1. 프로세스 및 CPU 스케줄링 관리 2. 메모리 관리 3. 디스크 관리 4. IO 디바이스 관리 ❓ 커널이 무엇인가요? 더보기 메모리에 상주하는 운영체제의 핵심.. 2023. 12. 11. [OOP] 올바른 DTO 객체를 만들어 보자/+github DTO Data Transfer Objects는 소프트웨어 개발에서 흔한 디자인 패턴이다. dto는 레이어 사이, 혹은 시스템 사이 데어터를 전달할 때 사용된다. 이를테면 Spring의 경우 컨트롤러에서 서비스 레이어로 값을 전달할 때 dto를 사용할 수 있다. 스프링의 레이어 프레젠테이션 계층 클라이언트의 요청 및 응답을 처리한다 @Controller 어노테이션이 사용된 클래스는 스프링 MVC에서 웹 요청을 처리하는 역할을 하게 된다. 비즈니스 계층 어플리케이션의 핵심 비즈니스가 위치하는 곳이다. 트랜잭션, 보안, 데이터 처리 등 주요 비즈니스 로직이 포함된다. 데이터 액세스 계층 데이터베이스와의 상호작용을 담당한다. JDBC나 ORM 기술을 사용하여 DB와 통신한다. DTO DTO를 사용하는 이유? .. 2023. 11. 24. [OOP] 객체 지향 설계를 잘하는 방법 객체 지향 설계 객체 지향 설계란? 객체 지향 설계(Object-Oriented Design, OOD)는 소프트웨어를 개발할 때 객체 지향 프로그래밍 (OOP) 원칙을 기반으로 하는 설계 접근 방식이다. 이러한 설계는 소프트웨어 시스템을 여러 객체로 나누고, 각 객체가 협력하여 기능을 수행하도록 하는 것을 중요시한다. 이를 위해서는 객체를 큰 관계 속에서 파악하는 것이 필요하다. 객체 지향의 목적은 유지 보수가 가능한 좋은 코드를 작성하는 데에 있다. 객체란? 객체는 현실 세계의 객체의 은유이다. 즉 현실 속 객체처럼 말하고 달리고 밥을 먹는다. 현실의 객체와의 차이점은 객체 지향 세계의 객체들은 모두 능동적이라는 것이다. 현실에서는 펀치를 치면 사람에 의해 샌드백이 터진다. 그러나 객체 지향 세계의 샌.. 2023. 11. 22. 이전 1 2 3 4 5 6 7 8 ··· 93 다음