728x90
반응형

전체 글 154

[BOJ] 백준 12865 평범한 배낭 c++ (냅색 알고리즘, Knapsack, DP)

문제 출처 : https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 풀이 배낭 알고리즘이라고도 불리는 Knapsack 알고리즘의 대표 문제이다. 여러가지 케이스가 있을때 특정 조건을 만족하는 값, 조합 등을 구하는 문제들이며 대부분 DP로 해결할 수 있다. 이 문제 역시 DP로 해결 할 수 있는데 문제를 요약해보면, 각 물건의 무게(W)와 가치(V)가 주어지고, 배낭의 용량(K)이 주..

Tech/Algorithm 2021.12.27

[당근마켓 윈터테크] 2021 하반기 당근마켓 윈터테크 인턴십 서류 합격, 면접 후기 (백엔드 개발)

- 서론 때는 바야흐로 2021년 12월... 당근마켓에서 하반기 윈터테크 인턴십을 모집하였다. (프론트엔드, 백엔드, 사이트 신뢰성 엔지니어) 원래 관심이 있었고 학회 학술제에서 번개장터 CTO님의 피드백을 듣고 당근마켓에 대한 관심이 더욱 많아져 서류를 지원하게 되었다. 윈터테크 당근마켓 인턴십은 다음과 같이 진행된다. 서류 지원 : 11월 25일(목) ~ 12월 5일(일) 인터뷰 일정 : 12월 1일(수)부터 순차적 진행 인턴십 일정 : 2022년 1월 3일 ~ 2월 27일 (8주) 우선 백엔드 직군에 서류를 준비하여 지원하였고, 중복 지원이 가능해 프론트엔드도 지원하였다! 백엔드의 경우, 언어 선택이 있어서 Node.JS를 선택하였고 서류는 이력서, 자기소개서 를 자유형식(pdf를 권장)으로 제출..

Career 2021.12.25

[BOJ] 백준 1764 듣보잡 c++ (문자열, map, unordered_map)

문제 출처 : https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 풀이 브루스포스로 해결하면 시간 초과가 발생한다. map을 이용해서 듣도 못한 사람을 저장하고, 보도 못한 사람을 해당 map에서 찾아 있는 경우 vector에 추가 해주었다. sort 함수를 사용해 사전순으로 출력하였다. (sort를 사용하려면 algorithm 헤더 파일을 선언해주어야 한다!) 이분탐색(binary_search)을 활용해 겹치는 사람을 찾는 방법도 있다. 아래 ..

Tech/Algorithm 2021.12.22

[스프링 핵심 원리] 객체 지향 설계의 5가지 원칙(SOLID), 스프링

- SOLID 5원칙 1. SRP (Single responsibility principle) : 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임이라는 것은 모호하다. (클 수도 있고, 작을 수도 있다.) 중요한 기준은 변경이다. 변경이 있을 때 파급 효과가 적으면 SRP를 잘 따른 것이다. -> 특정 목적의 클래스는 그 목적 외에 다른 기능을 가지면 안된다는 뜻! 2. ★ OCP (Open/closed principle) : 개방-폐쇄 원칙 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현 다형성(오버라이딩, 오버로딩 등)을 활용해보자 다형성 (Polymorphism) : 하나의 객체가 여러 가..

Tech/Spring 2021.12.22
728x90
반응형