본문 바로가기

분류 전체보기223

프로그래머스 Level3 정수 삼각형 c++ 풀이 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 간단한 DP 문제.. 2024. 1. 6.
프로그래머스 Level3 단속카메라 c++ 풀이 문제 설명 고속도로를 이동하는 모든 차량이 고속도로를 이용하면서 단속용 카메라를 한 번은 만나도록 카메라를 설치하려고 합니다. 고속도로를 이동하는 차량의 경로 routes가 매개변수로 주어질 때, 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 하는지를 return 하도록 solution 함수를 완성하세요. 제한사항 차량의 대수는 1대 이상 10,000대 이하입니다. routes에는 차량의 이동 경로가 포함되어 있으며 routes[i][0]에는 i번째 차량이 고속도로에 진입한 지점, routes[i][1]에는 i번째 차량이 고속도로에서 나간 지점이 적혀 있습니다. 차량의 진입/진출 지점에 카메라가 설치되어 있어도 카메라를 만난것으로 간주합니다. 차량의 진입 지점, 진.. 2024. 1. 6.
토비의 스프링 3.1 Vol.1 750p ~ 850p 정리 (완료) 8.5 정리 - 스프링은 그 개발철학과 목표를 분명히 이해하고 사용해야 한다. - 스프링은 오픈소스 소프트웨어이며, 애플리케이션 개발의 모든 기술과 영역을 종합적으로 다루는 애플리케이션 프레임워크다. - 엔터프라이즈 애플리케이션 개발의 복잡함은 비즈니스 로직과 엔터프라이즈 시스템의 기술적인 요구에 의해 발생한다. 기존의 접근 방법은 이 복잡도를 낮추지 못하며 자바의 객체지향적인 장점을 포기해야 한다는 문제점이 있다. - 자바의 근본인 객체지향적인 원리에 충실하게 개발할 수 있으며, 환경과 규약에 의존적이지않은 POJO를 이용한 애플리케이션 개발은 시스템 개발의 복잡함이 주는 많은 문제를 해결할 수 있다. - 스프링의 목적은 이런 POJO를 이용해 엔터프라이즈 애플리케이션을 쉽고 효과적으로 개발할 수 있도.. 2024. 1. 5.
토비의 스프링 3.1 Vol.1 650p ~ 750p 정리 7.6 스프링 3.1의 DI - 정책과 관례를 이용한 프로그래밍 7.6.1 자바 코드를 이용한 빈 설정 - 테스트 컨텍스트의 변경 @ContextConfiguration - 스프링 테스트가 테스트용 DI 정보를 어디서 가져와야 하는지 지정할 때 사용하는 애노테이션이다. - 제거 XML의 내용을 TestApplicationContext 내부로 옮기는 작업을 본격적으로 진행해 보자. - 의 전환 - 전용 태그 전환 7.6.2 빈 스캐닝과 자동와이어링 - @Autowired를 이용한 자동와이어링 - @Component를 이용한 자동 빈 등록 7.6.3 컨텍스트 분리와 @Import - @import 7.6.4 프로파일 - @Profile과 @ActiveProfiles - 컨테이너의 빈 등록 정보 확인 - 중첩.. 2024. 1. 4.
토비의 스프링 3.1 Vol.1 550p ~ 650p 정리 6.8.3 테스트를 위한 트랜잭션 애노테이션 - @Rollback 테스트용 트랜잭션은 테스트가 끝나면 자동으로 롤백된다. 롤백을 하지 않고 DB에 커밋하고 싶다면 @Rollback 애너테이션을 사용하자. @Test @Transactional @Rollback(false) public void transactionSync() { ... } - @TransactionConfiguration @Transaction은 테스트 클래스에 넣어서 모든 테스트 메소드에 일괄 적용할 수 있지만 @Rollback 애너테이션은 메서드 레벨에만 적용할 수 있다. 클래스 레벨에 @Rollback(false)를 적용하고싶다면? -> @TransactionConfiguration(defaultRollback=false)를 적용하자.. 2024. 1. 2.
토비의 스프링 3.1 Vol.1 450p ~ 550p 정리 6.3.4 다이내믹 프록시를 위한 팩토리 빈 - 팩토리 빈의 설정 방법 '&'를 빈 앞에 붙여주면 팩토리 빈 자체를 돌려준다. - 다이내믹 프록시를 만들어주는 팩토리 빈 - 트랜잭션 프록시 팩토리 빈 - 트랜잭션 프록시 팩토리 빈 테스트 6.3.5 프록시 팩토리 빈 방식의 장점과 한계 - 프록시 팩토리 빈의 재사용 - 프록시 팩토리 빈 방식의 장점 1. 타깃 인터페이스를 구현하는 클래스를 일일이 만드는 번거로움을 제거할 수 있다. 2. 팩토리 빈을 이용한 DI까지 더해주면 번거로운 다이내믹 프록시 생성 코드도 제거할 수 있다. - 프록시 팩토리 빈의 한계 중복의 한계 6.4 스프링의 프록시 팩토리 빈 6.4.1 ProxyFactoryBean 프록시를 생성해서 빈 오브젝트로 등록하게 해주는 팩토리 빈 - .. 2024. 1. 2.