알고리즘
-
[디자인 패턴] SOLID 의 Interface Segregation Principle알고리즘/디자인 패턴(Design Patterns) 2022. 12. 13. 20:03
디자인 패턴에 대한 정리 내용 중 SOLID 원칙의 네 번째 원칙인 Interface Segregation Principle 즉, 인터페이스 분리 원칙에 대하여 적어보겠습니다. SOLID 설계 원칙은 유지 보수가 쉽고 재사용 가능하도록 하고, 확장 가능한 개발을 위해 지켜지고 있습니다. 저의 네 번째 디자인 패턴 글에서는 C ++의 인터페이스 분리 원칙과 이를 사용하였을 때, 장점 등을 보겠습니다. 이 글 시리즈에서는 총 SOLID의 5가지 원칙에 대해 살펴보겠습니다. SRP - Single Responsibility Principle OCP - Open/Closed Principle LSP - Liskov Substitution Principle ISP - Interface Segregation Pri..
-
[프로그래머스] 몸짱 트레이너 라이언의 고민 / c++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 12. 7. 01:40
몸짱 트레이너 라이언의 고민 헬스장에서 일하는 몸짱 트레이너 라이언은 최근 손님들에게 불평을 많이 들었다. 그것은 옷을 갈아입는데 다른 사람과 너무 가까워서 옷을 갈아입기가 불편하다는 것이었다. 불만을 해결하기 위해 고민하던 라이언은 손님들의 예약시간을 참고해서 되도록이면 서로 멀리 떨어지도록 키를 나눠주기로 마음먹었다. 예를 들어, 락커들이 3x3 정사각형 모양으로 배치되어있고, 동시간대에 2명의 손님이 예약되어있다면 아래와 같이 락커를 할당하는 것을 고려해볼 수 있다. 라이언이 일하는 헬스장은 아래와 같은 상황이라고 가정하자. 락커는 정사각형으로 배치되어있고, 락커 사이에 옷을 갈아입을 공간이 있다. 단, 이 공간은 계산에서 제외된다. 락커 간 거리는 상하좌우는 1로, 대각선은 2로 계산한다. 손님들..
-
[디자인 패턴] SOLID 의 Liskov Substitution Principle알고리즘/디자인 패턴(Design Patterns) 2022. 12. 2. 18:49
디자인 패턴에 대한 정리 내용 중 SOLID 원칙의 세 번째 원칙인 Liskov Substitution Principle 즉, 리스코프 치환 원칙에 대하여 적어보겠습니다. SOLID 설계 원칙은 유지 보수가 쉽고 재사용 가능하도록 하고, 확장 가능한 개발을 위해 지켜지고 있습니다. 제 세 번째 디자인 패턴 글에서는 C ++의 리스코프 치환 원칙과 이를 사용하였을 때, 장점 등을 보겠습니다. 이 글 시리즈에서는 총 SOLID의 5가지 원칙에 대해 살펴보겠습니다. SRP - Single Responsibility Principle OCP - Open/Closed Principle LSP - Liskov Substitution Principle ISP - Interface Segregation Principl..
-
[디자인 패턴] SOLID 의 Open Closed Principle알고리즘/디자인 패턴(Design Patterns) 2022. 11. 30. 17:26
디자인 패턴에 대한 정리 내용 중 SOLID 원칙의 두 번째 원칙인 Open Closed Principle 즉, 개방 폐쇄 원칙에 대하여 적어보겠습니다. SOLID 설계 원칙은 유지 보수가 쉽고 재사용 가능하도록 하고, 확장 가능한 개발을 위해 지켜지고 있습니다. 제 두 번째 디자인 패턴 글에서는 C ++의 계방 폐쇄 원칙과 이를 사용하였을 때, 장점 등을 보겠습니다. 이 글 시리즈에서는 총 SOLID의 5가지 원칙에 대해 살펴보겠습니다. SRP - Single Responsibility Principle OCP - Open/Closed Principle LSP - Liskov Substitution Principle ISP - Interface Segregation Principle DIP - Depe..
-
[디자인 패턴] SOLID 의 Single Responsibility알고리즘/디자인 패턴(Design Patterns) 2022. 11. 30. 01:14
디자인 패턴에 대한 정리 내용 중 SOLID 원칙의 첫 번째 원칙인 Single Responsibility 즉, 단일 책임 원칙에 대해 적어보겠습니다. SOLID 설계 원칙은 유지 보수가 쉽고 재사용 가능하도록 하고, 확장 가능한 개발을 위해 지켜지고 있습니다. 제 첫 번째 디자인 패턴 글에서는 C ++의 단일 책임 원칙과 이를 사용하였을 때, 장점 등을 보겠습니다. 이 글 뒤에서는 총 SOLID의 5가지 원칙에 대해 살펴보겠습니다. SRP - Single Responsibility Principle OCP - Open/Closed Principle LSP - Liskov Substitution Principle ISP - Interface Segregation Principle DIP - Depende..
-
야간 전술보행 C++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 11. 3. 02:51
https://school.programmers.co.kr/learn/courses/30/lessons/133501?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 전쟁에 참여한 화랑이는 적군의 기지에 침투하여 정보를 훔쳐오는 임무를 받았습니다. 화랑이는 야간 전술 보행을 이용하여 직진하며, 야간 전술 보행은 1m/s의 일정한 속도로 나아갈 수 있습니다. 화랑이의 침입 경로에는 경비병들이 각자 일부 구간들을 감시하고 있습니다. 각각의 경비병들이 감시하는 구간은 서로 겹치지 않으며, 일정 시간 동안 근무 후 일정 시간 동안 휴식을..
-
백준 1261 C++알고리즘/백준(BOJ) 2022. 10. 20. 15:23
https://www.acmicpc.net/problem/1261 문제 알고스팟 운영진이 모두 미로에 갇혔다. 미로는 N*M 크기이며, 총 1*1크기의 방으로 이루어져 있다. 미로는 빈 방 또는 벽으로 이루어져 있고, 빈 방은 자유롭게 다닐 수 있지만, 벽은 부수지 않으면 이동할 수 없다. 알고스팟 운영진은 여러명이지만, 항상 모두 같은 방에 있어야 한다. 즉, 여러 명이 다른 방에 있을 수는 없다. 어떤 방에서 이동할 수 있는 방은 상하좌우로 인접한 빈 방이다. 즉, 현재 운영진이 (x, y)에 있을 때, 이동할 수 있는 방은 (x+1, y), (x, y+1), (x-1, y), (x, y-1) 이다. 단, 미로의 밖으로 이동 할 수는 없다. 벽은 평소에는 이동할 수 없지만, 알고스팟의 무기 AOJ를 ..
-
프로그래머스 이중우선순위큐 C++알고리즘/프로그래머스(PRPGRAMMERS) 2022. 10. 6. 12:22
문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한 사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제..