전체 글

전체 글

    [정보처리기사]#3.Chapter3 -A grade

    3과목 데이터베이스 암기해야하는것 A 개념적설계 트랜잭션 모델링을 수행한다. 논리적설계 트랜잭션 인터페이스를 설계한다 , 관계형 데이터베이스라면 테이블을 만드는 과정이다. 목표 DBMS에 종속적이어야한다.(독립적이면 안된다.) 개체 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을한다. 개체 인스턴스 개체 어커런스 개체 선정방법 DFD 자료흐름도를 사용했을 경우에는 자료 저장소를 참조한다 BPS 업무 프로세스 재정의를 사용했을 경우에는 관련 개체를 찼는다 E-R 다이어그램 이것은 특정DBMS를 고려한 것이 아니다. E-R다이어그램의 종류 피터챈 , 정보공학표기법, 바커표기법 튜플 파일구조에서 레코드와 같은 의미이다. 속성 데이터베이스를 구성하는 가장 작은 논리적 단위이다. 도메인 하나의..

    [정보처리기사]#2.Chapter2 -A grade

    2장 데이터저장소 소프웨어 개발과정에서 다루어야할 데이터들을 논리적인 구조로 조직화하거나 물리적인 공간에구축(논리데이터저장소, 물리데이터저장소) 데이터베이스 통합된데이터(integrated Data) : 자료의중복베제 저장된데이터(stored Data): 컴퓨터가 접근 가능한 메체에 저장된 자료 운영데이터(operational Data): 반드시 필요한 자료 공용데이터(shared Data) : 공동으로 소유하고 유지하는 자료 DBMS 사용자와 데이터베이스 사이에서 DB를 관리해주는 소프트웨어(종속성과 중복성 문제 해결) DBMS의 3가지 기능 정의기능, 조작기능, 제어기능 DBMS의 장점 논리적 물리적 독립성, 일관성, 무결성, 보안, 표준화, 통합, 최신데이터 ,실시간처리 DBMS의 단점 전문가부족,..

    [정보처리기사] #1.Chapter1 -A grade

    1과목 -1장 소프트웨어 생명주기(소프트웨어 수명주기) 소프트웨어 개발 방법론의 바탕이되는것으로 정의 운용 유지보수 등의 과정을 단계별로 나눈것 소프트웨어 생명주기모형, 프로세스모형, 소프트웨어공학패러다임 소프트웨어 생명주기를 표현하는 형태 폭포수모형 각 단계를 확실히 매듭짓고 승인후에 다음단계를진행하는 개발방법론 프로토타입모델 요구사항을 정확히 파악하기 위해서 프로토타입을 만들어 최종 결과물을 예측하는 모형으로 폭포수모델의 단점보안 나선형 모형 폭포수모형 + 프로토타입 모형의 장점 ,나선형을 돌듯 점진적으로 완벽한 최종 소프트웨어를 개발하는것(점진적모형) 에자일 모형 고객의 요구사항 변화에 유연하게 대응하기위해, 고객의 소통에 초점을 맞춤 Srcum, XP, 칸반, Lean, 크리스탈, ASD, FDD..

    [백준,PS,재귀,DP,삼성SW][PYTHON] #14501. 퇴사

    [백준,PS,재귀,DP,삼성SW][PYTHON] #14501. 퇴사

    [정 리] 1. 조합을 이용해서 구해보자 1.1 - 일수가 지나서 이용할 수 있는 스케쥴이라면 1 그렇지 않다면 0의 조합으로 나타내보자. 1.2 - 7일동안의 스케쥴을 생각해본다면 0000000 부터 1111111 까지의 조합으로 이루어 질것이다. 1.3 - 이들의 조합중 제한사항으로 인해 걸리는 것을 제외하여 (ex: 1000100) 해당idx의 P[i]값들을 더하여 최댓값을 구한다. def getResult(x): global _max if x ==N: day_count = 0 total =0 for i in range(x): if(result[i] ==1 and day_count ==0): day_count = T[i] total += P[i] if day_count >0: day_count = ..

    [프로그래머스,PS,스택,큐][PYTHON] #1. 탑

    [프로그래머스,PS,스택,큐][PYTHON] #1. 탑

    [정리] 1. 오른쪽 끝에서부터 시작해서 왼쪽으로 진행하기때문에 range에서 마지막 인자로 step = -1을 주어서 뒤에서부터 탐색한다. 2. 중복으로 수신하지는 않기때문에 현재 탑보다 큰 탑을 찾으면 인덱스를 answer 에 추가한후에 break로 탈출 def solution(heights): answer = [0] *len(heights) for i in range(len(heights)-1, 0, -1): for j in range(i-1,-1,-1): if heights[i]

    [프로그래머스,PS,해시][PYTHON] #4.베스트 앨범

    [프로그래머스,PS,해시][PYTHON] #4.베스트 앨범

    [정리] 1. 장르의 수를 구하기위해 totalplay_genres 딕셔너리 선언하기 1-1. sorted()메소드를 사용해서 장르별 빈도순으로 정렬한 리스트 반환, Lambda사용 2.Idx별 장르명과 플레이횟수를 저장하는 딕셔너리 선언하기 2-1. sorted()메소드를 사용해서 장르별 빈도순을 idx와 묶어서 정렬한 리스트 반환,Lambda 사용 3.모든 제한사항을 통과하여 두개씩 추출하는 방법을 생각 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. [1차시도] - 밤늦게 풀었더니 이상한 로직을 세웠다. 근데 테스트 케이스 9번을 제외하고 전부통과되었다. def..

    [프로그래머스,PS,해시][PYTHON] #3.위장

    [프로그래머스,PS,해시][PYTHON] #3.위장

    [정리] 1. 부분집합을 몇개 만들수있는지에 대해 초첨을 두고 시작하였다. 1-1. 옷의 type 의 갯수에 +1씩을 더해서 곱해준값을 구해준다. 1-2. 공집합을 빼주어야 하기때문에 -1을 하여주면 답을 구할 수 있다. import collections def solution(clothes): answer = 1 clothe_type = [clothe for i ,clothe in clothes] #리스트 컴프리핸션 부분 a = collections.Counter(clothe_type) for i in a.values(): answer = answer *(i+1) return answer-1 [ 다른 풀이법 ] 1. dictionary 이용 2.reduce 메소드 이용

    [프로그래머스,PS,해시][PYTHON] #2.전화번호 목록

    [프로그래머스,PS,해시][PYTHON] #2.전화번호 목록

    def solution(phone_book): for i in range(len(phone_book)): length = len(phone_book[i]) for idx in range(i+1,len(phone_book)): if phone_book[i] == phone_book[idx][0:length]: return False break return True [정리] 1. 간단하게 이중포문을 사용해서 리스트 원소의 크기만큼 배열을 slicing해서 비교해주었다. 1-1. 위와같이 코드를 짰을때 테스트케이스 3개는 통과하지만 그뒤에 8번과 9번의 테스트 케이스를 통과하지 못했다. 1-2. 원인분석 결과 ["97674223", "1195524421", "119"]와 같은 테스트 케이스를 입력받을때는 통과..

    [프로그래머스,PS,해시][PYTHON] #1.완주하지 못한 선수

    [프로그래머스,PS,해시][PYTHON] #1.완주하지 못한 선수

    [ 정리 ] 1. 파이썬 collections의 Counter에 대해서 공부하자! 2. 이 풀이는 완주하지 못한 선수가 무조건 한명씩 나온다는 가정하에 정답처리되었다. 3. participant , completion의 리스트 원소들이 정렬이 되어있지 않기때문에 두 리스트를 정렬하여 사용한다면 더 효율적일 것이다. import collections #collections의 라이브러리를 사용한다. def solution(participant, completion): answer='' answer = list((collections.Counter(participant) - collections.Counter(completion)).keys())[0] #Counter끼리의 뺄샘이 가능하다 #Counter뺄샘의..