본문 바로가기

소프트웨어 개발

프로그래머스 - 기지국 설치 (2022/07/06) 1. 문제 설명 - 출처: (https://school.programmers.co.kr/learn/courses/30/lessons/12979) 2. 시행 착오 (1) 시간 초과 1 - 정확성 테스트 : 통과 100% ㆍ속도 : 0.02ms ~ 0.29ms ㆍ메모리 : 73.9MB ~ 84.4MB - 효율성 테스트 : 실패 0% - 접근 방식 [1] 현재 기지국이 전혀 없다고 가정했을때, 전체 아파트에 필요한 기지국 개수를 구하는 방법은 간단하다. - 기지국 필요 갯수 = 아파트 갯수 / 기지국 범위 (나머지가 생길 경우에는 + 1) - 기지국 범위 = w * 2 + 1 [2] 그러나 문제는 현재 기지국이 특정 위치에 존재할 수 있다는 점이다. 그림으로 직접 아파트와 기지국을 그려서 가시화하면 사람의 머.. 더보기
디자인 패턴과 프레임워크의 관련성은 무엇일까요? 1. 디자인 패턴의 정의 디자인 패턴이란, 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나입니다. 소프트웨어 개발과정에서 발견된 노하우를 축적하여 이름을 붙여 이후에 재사용하기 좋은 형태로 특정 규약을 묶어서 정리한 것을 뜻하지요. '디자인패턴' 이란 용어를 소프트웨어 개발 영역에서 구체적으로 처음 제시한 곳은, GoF(Gang of Four)라 불리는 네 명의 컴퓨터 과학 연구자들이 쓴 서적 'Design Patterns: Elements of Reusable Object - Oriented Software' 입니다. 디자인 패턴을 이용하는 이유는 다음과 같습니다. 소프트웨어 개발의 요구사항은 수시로 변경 → 요구사항 변경에 대한 소스코드 변경 최소화 여러사람이 진행하는 팀프로젝트 .. 더보기
소프트웨어 코드를 재사용하려면? 소프트웨어 개발을 할 때, 코드를 재사용하려면 어떤 방법들이 있을까요? 1. 복사 & 붙여넣기 : 초보적인 재사용 방식으로 비슷한 코드를 다른 소스에서 복사해서 사용하는 방식입니다. GregorianCalendar date = (GregorianCalendar)Calendar.getInstance(); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); String date = df.format(date); (사용 예시) A라는 클래스에서 Date 타입을 String 타입으로 변환하는 코딩을 하고, 클래스 B에서 동일한 로직이 필요하여서 복사했다고 가정한 경우가 있을 수 있습니다. 매우 간단하지만, 나중에 코드에 변화를 줘야할 필요가 생기면 그만한 대가가 .. 더보기