분류 전체보기

·Algorithm (PS)
https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 삼성의 상어 시리즈.. https://sinclairstudio.tistory.com/202 백준 21610 마법사 상어와 비바라기 (python) https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비..
디자인 패턴 : 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결방식 또는 예제 생성패턴, 구조패턴, 행위패턴 세가지로 나뉜다 !! 디자인 패턴의 구성 요소 : 문제 및 배경 + 사례 + 샘플 코드 1. 생성 패턴 - 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 추상 팩토리 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함 빌더 작게 분리된 인스턴스를 조합하여 객체를 생성함 동일한 객체 생성에서도 서로 다른 결과를 생성할 수 있음 팩토리 메소드 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화한 패턴 상위 클래스에서 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당함 프로토타입 원본 객체를 복제하는 ..
소프트웨어 아키텍쳐 1) 모듈화 시스템의 기능을 모듈 단위로 나누는 것 2) 추상화 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것 3) 단계적 분해 문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화 시키는 분할 기법 4) 정보은닉 모듈 내부에 포함된 절차와 자료들의 정보가 갖추어져 다른 모듈이 접근하거나 번경하기 못하도록 하는 기법 5) 상위 설계와 하위 설계 - 상위 설계 : 아키텍처 설계, 예비 설계 (구조, DB, 인터페이스) - 하위 설계 : 모듈 설계, 상세 설계 (컴포넌트, 자료구조, 알고리즘) 6) 설계 과정 설계 목표 설정 -> 시스템 타입 결정 -> 아키텍쳐 패턴 적용 -> 서브 시스템 구체화 -> 검토 7) 협약에 의한 설계 컴포넌트를 설계할 ..
·Algorithm (PS)
웹 서버의 기능 HTTP/HTTPS : 브라우저로부터 요청을 받아 응답할 때 사용되는 프로토콜 통신기록 : 처리한 요청들을 로그 파일로 기록하는 기능 정적 파일 관리 : HTML/CSS/이미지 등의 정적 파일들을 저장하고 관리하는 기능 대역폭 제한 : 네트워크 트래픽의 포화를 방지하기 위해 응답 속도를 제한하는 기능 가상 호스팅 : 하나의 서버로 여러개의 도메인 이름을 연결하는 기능 인증 : 사용자가 합법적인 사용자인지를 확인하는 기능
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/92342 양궁을 어떻게 쏠지 여러가지 경우가 나올 텐데 이를 queue에 저장했다가 bfs내에서 현재 과녘을 라이언이 쏘는 경우와 쏘지 않는 경우 각각을 모두 queue에 push 해주었다 . -> 이 방법을 통해서 과녘을 쏘는 경우의 수들을 탐색하고, while문이 종료되는 조건들을 통해서 max_gap을 갱신한다. queue = deque([(0, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])]) # count, arrow queue에 현재 과녘과 화살을 쏜 기록인 (count, arrow)를 초기화하여 push한다. if sum(arrow) == n: # while 문 종료 ry..
·Algorithm (PS)
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1 ≤ n ≤ 1,000,000), m(1 ≤ m ≤ 100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 www.acmicpc.net 집합을 합친다고 해서 처음엔 단순하게 배열과 배열을 합쳤는데, 이렇게 하면 시간초과가 난다 ! 그래서 찾은 방법이 union-find로 배열과 배열을 합칠 때, 부모 노드 (root node)를 이용해서 부모 노드가 더 작은 쪽으로 가게끔 합쳤다 그리고 각각의 원소가 하나의 집합에 속하는지 확인할 때는 부모노드가 동일한지만 확인해주면 되니까 더 효율적으로 ..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 효율성!! 을 보는 문제여서 당연히 브루트포스는 아닐거란 예상은 했지만 그래도 꼭 하지말라고 하면 하고 싶은 법 나만 그래?????? def solution(board, skill): answer = 0 def attack(a, b, c, d, degree): for i in range(a, c+1): for j in range(b, d+1): board[i][j] -= degree def sav..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr mbti 점수 계산하는 재미있는 문제이다 처음에 놓친 부분은 매우 비동의가 3점으로 들어가야 하는데 이걸 1점으로 거꾸로 계산했다 레벨 1의 구현문제이다 def solution(survey, choices): answer = '' n = len(choices) type = {'R':0, 'T':0, 'C':0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0} score = [0, ..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (50 Page)