본문 바로가기

전체 아티클73

IV. 통합 구현 01. 연계요구사항 연계요구사항 분석이란? 서로 다른 두 시스템을 이어주는 중계 역할을 하는 연계시스템과 관련된 요구사항을 분석하는 과정 연계요구사항 분석기법 - 인터뷰 : 말 그래도, 사용자 면담 - 체크리스트 : 시스템 운영 환경, 성능, 보안, 데이터 발생 주기 등 기준에 대한 점검 (체크) - 설문지 : 서비스 활용 목적에 따라 연계 필요 데이터 식별 및 연계 주기 등을 설문지를 통해 분석 - 델파이 기법 : 전문가의 경험적 지식을 통한 분석 기법 - 브레인 스토밍 : 인원들이 자발적으로 아이디어를 자유롭게 내며 분석 연계요구사항 분석 참고 문서 - 코드 정의서 - 테이블 정의서 ➟ 개체 정의서 : 개념 모델링 단계에서 도출 ➟ 테이블 정의서 : 논리 및 물리 모델링 단계에서 도출 ➟ 인터페이스 .. 2022. 10. 1.
바닐라 JS, 모듈화 진행 시 CORS 에러 해결 방안 Access to script at 'file:///C:/경로/js/module.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https. 바닐라 JS로 다음과 같이 스크립트를 모듈 타입으로 불러올 때, 문제가 발생하였다. 왜 이런 문제가 발생할까? 우리가 작업하는 로컬 환경에서 SOP를 위배했기 때문에 나타나는 현상이다. SOP는 `동일 출처 정책` 이라는 뜻이다. 어떤 출처(origin)에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하.. 2022. 9. 29.
[프로그래머스] JadenCase 문자열 만들기 예전에는 프로그래머스 2단계도 버거워하면서 들고왔는데, 이제는 하루에 몇 문제도 거뜬하게 풀 수 있게 되었다. 오늘 문제는 아주 킹 받아서 들고왔다,, 진짜 이 문제의 문제가 정말 무엇일까 하면서 고민을 정말 오해한 것 같다,, 발견한 문제는 '반례'인데, 문제에 대한 자세한 설명도 없고 테스트케이스가 부실한 것 같았다. (다른 유저들의 힌트에서 끝에 공백이 있으면 그 공백도 처리를 해야한다고해서 해결을 했다.) 그러니까 문제는 Python의 split() 함수로 풀게되면 안된다는 것, 그러면 끝에 공백은 날라가버린다. 처음에는 내가 평소에 하던 방식으로 split() 방식으로 풀이를 했다. 입출력 예시에 따른 결과가 잘 나와서 쉬운문제겠구나,, 하면서 제출을 했는데 실패의 늪에 빠졌다. 그래서 방법을 .. 2022. 9. 16.
[백준] 1931번 처음에 접근법을 조금 해맸다, 값은 정확하게 도출이 되지만 시간 초과가 되어서 반복문을 너무 사용한 탓으로 판단을 하고 접근법을 바꾸었다. 람다 함수를 사용하여 정렬을 시켜주어 첫 시작시간을 최솟 시작시간으로, 반복문을 돌리면서 처음 정해놓았던 최소 종료시간보다 크거나 같다면 변경을 해주면서 루프를 해주는 형식으로 코드를 구현하였다. 파이썬으로 풀이한 과정은 다음과 같다. num = int(input()) times = [] count = 1 for i in range (num): time = tuple(map(int, input().split())) times.append(time) times.sort(key = lambda x: x[0]) times.sort(key = lambda x: x[1]) e.. 2022. 5. 8.
[백준] 11047번 이번 문제도 알고리즘을 생각하고 풀면 간단하게 풀 수 있는 문제였다. 입력 첫째 줄에 동전의 개수와 원하고자 하는 최솟값을 입력하여 그에 따른 최소 동전 개수를 구하는 문제였는데, 리스트에 차곡차곡 쌓아주고, 내림차순으로 거꾸로 정렬시켜 a % b 를 했을 때, b가 더 큰 수라면 a가 그대로 출력되지 않을 경우를 조건으로 이용하여, 풀이를 하였다. 그러면 그 조건에 해당하는 동전의 종류만이 계산이 되어진다. 파이썬으로 풀이한 과정은 다음과 같다. coin, money = map(int, input().split()) num = [] for i in range (coin): num.append(int(input())) num.sort(reverse=True) result = 0 for i in range.. 2022. 5. 6.
[백준] 11399번 사실 파이썬의 내장함수를 이용하면 풀기 쉬운 문제였다, 정렬 내장 함수를 통해 오름차순 정렬을 해주고 합의 최솟값을 구해주면 되는 문제였다. 파이썬에서 한 줄로 입력을 받고자할 때는 map 내장 함수를 사용해주면 되는데, 이때 map 앞에 list를 붙여주면 입력이 끝난 뒤에는 list로 출력이 된다. 다음과 같은 키워드의 함수들을 통해 파이썬 풀이과정을 구현하였다. person = int(input()) num = list(map(int, input().split())) num.sort() result = 0 for i in range (len(num) + 1): for j in range (i): result += num[j] print(result) 2022. 5. 6.