본문 바로가기

분류 전체보기153

[Python] 프로그래머스 (가장 큰 수) 정렬 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbersreturn numbers r.. 2021. 10. 3.
[8] 연계 데이터 구성, 연계 메커니즘, EAI / ESB 연계 요구사항 분석: 서로 다른 두 시스템·장치·소프트웨어를 이어주는 중계 역할을 하는 연계 시스템과 관련된 요구사항을 분석하는 과정이다. 요구사항 분석 기법 및 분석 참고 문서 구분 주요 내용 설명 분석 기법 인터뷰 사용자 면담을 통해 연계 요구사항 도출 체크리스트 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등의 기준에 대한 점검을 통한 분석기법 설문지 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석하는 기법 델파이 기법 전문가의 경험적 지식을 통한 분석 기법 브레인스토밍 소속된 인원들이 자발적으로 자연스럽게 제시된 아이디어 목록을 통해 분석하는 기법 분석 참고 문서 코드 정의서 공통 코드 정의서 테이블 정의서 데이터 모델링 정의서, 테이블/프로세스 연관.. 2021. 10. 3.
[Python] 프로그래머스 (소수찾기) -itertools 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, .. 2021. 10. 1.
[7] 물리 데이터 저장소 설계, 데이터베이스, 데이터 마이닝 물리 데이터 모델링: 논리모델을 적용하고자 하는 기술에 맞도록 상세화해 가는 과정이다. 물리 데이터 모델링 변환 절차 개체를 테이블로 변환: 일반적으로 테이블과 개체 명칭을 동일하게 하는 것을 권고 속성을 컬럼으로 변환: 개발자와 사용자 간 의사소통을 위해 표준화된 약어를 사용하도록 권고 UID를 기본키로 변환: 개체의 UID에 해당하는 모든 속성에 대해 기본키로 선언 관계를 외래키로 변환: 외래키 명은 기본키 이름을 그대로 사용하나 다른 의미를 가질 경우 변경 가능 컬럼 유형과 길이 정의: 적절한 유형을 정의하고, 데이터의 최대 길이를 파악하여 길이를 설정 반 정규화 수행: 시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 반 정규화를 수행 참조무결성 제약조건 릴레이션과 릴레이션.. 2021. 10. 1.
[Python] 프로그래머스 (행렬의 곱셉) 문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] 문제풀이 1... 2021. 9. 29.
[6] 데이터 입출력 구현(논리 데이터 저장소) 데이터 모델(Data Model): 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다. 데이터 모델 절차 (개/논/물) 개념적 데이터 모델 현실 세계에 대한 인식을 추상적 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델 주요 산출물로는 개체관계 다이어그램이 있음 논리적 데이터 모델 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델 개념 모델로부터 업무 영역의 업무 데이터 및 규칙을 구체적으로 표현한 모델이다. 논리적 데이터 모델링에서 정규화를 수행 물리적 데이터 모델 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 일련의 데이터 모델 성능 측면에서 반 정규화를 수행 논리적 데이터 모델링 종류 관계.. 2021. 9. 29.
[Python] 프로그래머스 (N개의 최소공배수) 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요. 제한 사항 arr은 길이 1이상, 15이하인 배열입니다. arr의 원소는 100 이하인 자연수입니다. 입출력 예 arr result [2,6,8,14] 168 [1,2,3] 6 문제풀이 앞에 2개의 최소공배수를 구한다 그 최소공배수와 다음 값의 최소공배수를 구한다 (a와 b의 최소공배수 = (a*b)/.. 2021. 9. 28.
[5] UI 설계 UML(Unified Modeling Language): 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다. UML특징 (가/구/명/문) 가시화 언어: 개념 모델 작성 시 오류가 적고 의사소통이 용이 구축 언어: 다양한 프로그래밍 언어로 실행 시스템의 예측 가능, UML을 소스코드로 변환하여 구축가능, 역 변환하여 역공학 가능 명세화 언어: 정확한 모델 제시, 완전한 모델 작성 가능 문서화 언어: 시스템에 대한 평가 및 의사소통의 문서 UML구성요소 (사/관/다) 사물(Things): 추상적인 개념으로, 주제를 나타내는 요소; 단어 관점에서 '명사' 또는 '동사'를 의미 관계(Relationships): .. 2021. 9. 28.
[4] UI 요구사항 확인 UI(User Interface): 넓은 의미에서 사용자와 시스템 사이에서의 의사소통할 수 있도록 고안된 물리적, 가상의 매개체이다. 좁은 의미로는 정보 기기나 소프트웨어의 화면 등에서 사람이 접하게 되는 화면이다. UX(User Experience): 제품과 시스템, 서비스 등을 사용자가 직/간접 적으로 경험하면서 느끼고 생각하는 총체적 경험 UI유형 (C/G/N/O) CLI(Command Line Interface): 명령어를 텍스트로 입력하여 조작; 정적인 텍스트 기반 인터페이스 GUI(Graphical User Interface): 그래픽 환경을 기반으로 한 마우스나 전자펜을 이용; 그래픽 반응 기반 인터페이스 NUI(Natural User Interface): 신체부위(터치, 음성)를 사용하는 .. 2021. 9. 28.
[Python] 프로그래머스 (최소직사각형) 위클리 첼린지 8주차 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로길이와 세로 길이를 나타냅니다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지.. 2021. 9. 27.
[3] 요구사항 (요구공학 Requirements Engineering) 요구공학: 사용자의 요구가 반영된 시스템을 개발하기 위하여 사용자 요구사항에 대한 도출, 분석, 명세, 확인 및 검증하는 구조화된 활동이다. 요구사항의 분류 기능적 요구사항: 시스템이 제공하는 기능, 서비스에 대한 요구사항 특정 입력, 상황에 대해 시스템이 어떻게 반응, 동작해야 하는지에 대한 기술 기능성, 완전성, 일관성 비기능적 요구사항: 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항 품질 속성에 관련하여 시스템이 갖춰야 할 사항에 관한 기술 시스템이 준수해야 할 제한 조건에 관한 기술 신뢰성, 사용성, 효율성, 유지보수성, 이식성, 보안성 및 품질 관련 요구사항, 제약사항 요구사항 개발 프로세스 (도/분/명/확) 요구사항 도출(Elicitation) 소프트웨어가 .. 2021. 9. 27.
[Python] 프로그래머스 (피보나치 수) 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 입출력 예 nreturn 3 2 5 5 입출력 예 설명 피보나치수는 0번째부터 0, 1, 1, 2, 3, 5.. 2021. 9. 27.