01. IT 전체 업무 보기 Information vs Data Data 가공되지 않은 값 ex. 숫자 Information 가공되어 의미있는 값 ex. 잔고 Data가 Information이 되려면: 존재 > 분석 > 가공 Program 의미 있는 정보를 사용자가 이용할 수 있게 해주는 전자적 도구 IT Information Technology 정보가 전자적 기술을 통해 공급자로부터 수요자까지 전달되는 과정 전체 필수 프로세스 1. 개발 > 2. 동작(서버) > 3. 전달(네트워크) > 4. 사용(PC/모바일) 02. IT 개발 업무 전체 개발의 종류 프로젝트형 개발 특정 시스템을 기간을 정해서 개발 (외주, 자체) SI 프로젝트, 솔루션 프로젝트 등 정해진 기간에 정해진 일 고객의 요구사항 확인 중요..
응집도와 결합도 좋은 소프트웨어 설계를 위해서는 결합도coupling는 낮추고 응집도cohesion은 높여야 한다 결합도 모듈(클래스)간의 상호 의존 정도 응집도 하나의 모듈 내부 구성 요소들의 기능적 관련성 SRP Single Responsibility Principle: 단일 책임 원칙 어떠한 클래스를 변경해야 하는 이유는 한가지 뿐이어야 한다. OCP Open Closed Principle 자신의 확장에는 열려 있고, 주변의 변화에 대해서는 닫혀 있어야 한다. 상위 클래스 또는 인터페이스를 중간에 둠으로써, 자신은 변화에 대해서는 폐쇄적이지만 인터페이스는 외부의 변화에 대해서 확장을 개방해 줄 수 있다. LSP Liskov Substution Principle 서브 타입은 언제나 자신의 기반(상위)..
객체지향의 사실과 오해 - YES24 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 www.yes24.com 객체지향이란? 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임 시스템은 역할과 책임을 수행하는 객체로 분할되고, 시스템의 기능은 객체 간의 연쇄적인 요청과 응답의 흐름으로 구성된 협력으로 구현된다. 객체 상태state와 행동behavior을 함께 지닌 실체 자율성: 자신의 상태를 직접 관리하고, 상태를 기반으로 스스로 판단하고 행동할 수 있음 과거의 전통적인 개발 방법과는 달리 객체지향에서는 데이터와 프로세스를 객체라는 하나의 틀 안에 묶어놓음으로써 객체의 ..
✏️ 문제 1 x 1 크기의 칸들로 이루어진 직사각형 격자 형태의 미로에서 탈출하려고 합니다. 각 칸은 통로 또는 벽으로 구성되어 있으며, 벽으로 된 칸은 지나갈 수 없고 통로로 된 칸으로만 이동할 수 있습니다. 통로들 중 한 칸에는 미로를 빠져나가는 문이 있는데, 이 문은 레버를 당겨서만 열 수 있습니다. 레버 또한 통로들 중 한 칸에 있습니다. 따라서, 출발 지점에서 먼저 레버가 있는 칸으로 이동하여 레버를 당긴 후 미로를 빠져나가는 문이 있는 칸으로 이동하면 됩니다. 이때 아직 레버를 당기지 않았더라도 출구가 있는 칸을 지나갈 수 있습니다. 미로에서 한 칸을 이동하는데 1초가 걸린다고 할 때, 최대한 빠르게 미로를 빠져나가는데 걸리는 시간을 구하려 합니다. 미로를 나타낸 문자열 배열 maps가 매개..
✏️ 문제 (2022 KAKAO BLIND RECRUITMENT 기출) 주차 요금을 나타내는 정수 배열 fees , 자동차의 입/출차 내역을 나타내는 문자열 배열 records 가 매개변수로 주어집니다. 차량 번호가 작은 자동차부터 청구할 주차 요금을 차례대로 정수 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤯 풀이 방법 입력이 들어오면 입차하는 차인지 출차하는 차인지의 여부를 확인한다. cur라는 객체는 현재 입차되어 있는 차들의 상태를, result라는 객체는 차의 번호와 소요..
✏️ 문제 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호가 매겨져 있고, (r, c)는 r행 c열을 의미한다. 교실의 가장 왼쪽 윗 칸은 (1, 1)이고, 가장 오른쪽 아랫 칸은 (N, N)이다. 선생님은 학생의 순서를 정했고, 각 학생이 좋아하는 학생 4명도 모두 조사했다. 이제 다음과 같은 규칙을 이용해 정해진 순서대로 학생의 자리를 정하려고 한다. 한 칸에는 학생 한 명의 자리만 있을 수 있고, |r1 - r2| + |c1 - c2| = 1을 만족하는 두 칸이 (r1, c1)과 (r2, c2)를 인접하다고 한다. 비어있는 칸 중에서 좋아하는 학생이 ..