728x90
[프로그래머스] (JavaScript) 단어 변환 - BFS문제 설명두 개의 단어 begin, target 과 단어의 집합 words 가 있다. 아래의 규칙을 이용하여 begin 에서 target 으로 변환하는 가장 짧은 변환 과정을 찾으려 한다. 한 번에 한 개의 알파벳만 바꿀 수 있다.words 에 있는 단어로만 변환할 수 있다.예를 들어 begin 이 "hit", target 가 "cog", words 가 ["hot", "dot", "dog", "lot", "log", "cog"] 라면"hit" > "hot" > "dot" > "dog" > "cog" 와 같이 4단계를 거쳐 변환할 수 있음 두 개의 단어 begin, target 과 단어의 집합 words 가 매개변수로 주어질 때, 최소 몇 단계의 ..
[프로그래머스] (JavaScript) 네트워크 - DFS문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미한다.예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어 있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers 가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하자.제한 사항컴퓨터의 개수 n 은 1 이상 200 이하인 자연수각 컴퓨터는 0부터 n - 1 인 정수로 표현i 번 컴퓨터와 j 번 컴퓨터..
[프로그래머스] (JavaScript) 타겟 넘버 - DFS문제 설명n개의 음이 아닌 정수들이 있다. 이 정수들을 순서를 바꾸지 않고 더하거나 빼서 타겟 넘버를 만드려 한다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 사용할 수 있다. - 1 + 1 + 1 + 1 + 1 = 3+ 1 - 1 + 1 + 1 + 1 = 3+ 1 + 1 - 1 + 1 + 1 = 3+ 1 + 1 + 1 - 1 + 1 = 3+ 1 + 1 + 1 + 1 - 1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target 이 매개변수로 주어질 때, 숫자를 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성하자.제한 사항주어지는 숫자의 개수..
[프로그래머스] (JavaScript) 피로도 - DFS문제 설명XX게임에 피로도 시스템(0 이상의 정수로 표현)이 있으며, 일정 피로도를 사용하여 던전을 탐험할 수 있다.이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있다."최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도이고,"소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타낸다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상이어야 하며, 탐험한 후에 피로도 20이 소모된다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러 개 있는데, 한 유저가 ..
[SQLD]「2」(2.1) SELECT 문, 다양한 함수「1」 데이터 모델링의 이해> 「2」 SQL 기본 / 활용「3」 관리 구문 > 1. SELECT 문> 2. 다양한 함수3. WHERE 절4. GROUP BY 절, HAVING 절5. ORDER BY 절6. JOIN7. STANDARD JOIN 1. SELECT 문SELECT⸰ 저장된 데이터를 조회하는 명령어SELECT 칼럼1, 칼럼2, ... FROM 테이블 WHERE 조건; ⸰ 칼럼 명시하지 않고, *(asterisk)를 사용하면 전체 칼럼 조회SELECT * FROM 테이블; ⸰ 테이블명에 AS 설정하면 테이블명 대신 AS 사용해야 함SELECT 칼럼 FROM 테이블 [AS] 테이블명 √. ALIAS 를 별도로 지정하지 않으면, 칼럼명이 대문자로..
[SQLD]「1」(1.2) 정규화, 반정규화, 트랜잭션, NULL> 「1」 데이터 모델링의 이해「2」 SQL 기본 / 활용「3」 관리 구문 > 1. 정규화> 2. 반정규화> 3. 트랜잭션> 4. NULL 1. 정규화정규화⸰ 데이터의 정합성을 위해 중복을 제거하여 엔티티를 분리하는 과정⸰ 데이터 입력 / 수정 / 삭제 성능을 향상함⸰ 지나친 정규화는 오히려 성능 저하 제 1정규형⸰ 모든 속성값은 하나의 값만 가져야 함⸰ 유사한 속성이 반복되지 않아야 함 제 2정규형⸰ 모든 일반속성은 모든 주식별자에 종속되어, 부분 종속이 없어야 함 제 3정규형 ⸰ 주식별자를 제외한 모든 속성 간 종속이 없어야 함 2. 반정규화반정규화⸰ 데이터의 조회 성능을 향상하기 위해 중복을 허용하여 의도적으로 정규화에 위배되는 행위⸰..
[SQLD]「1」(1.1) 데이터 모델, 엔티티, 속성, 관계, 식별자> 「1」 데이터 모델링의 이해「2」 SQL 기본 / 활용「3」 관리 구문 > 1. 데이터 모델의 이해> 2. 엔티티> 3. 속성> 4. 관계> 5. 식별자 1. 데이터 모델의 이해모델링 ⸰ 현실 세계를 단순화하여 표현하는 기법 모델링 특징⸰추상화: 현실 세계를 일정한 형식으로 표현 ⸰단순화: 복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현 ⸰명확성: 불분명함을 제거하고 명확하게 해석할 수 있도록 기술 ⸰ 모델링의 기능 :가시화문서화구조화된 틀 제공명세화 모델링의 세 가지 관점⸰데이터 관점(What, Data)⸰프로세스 관점(How, Process)⸰데이터와 프로세스의 상관 관점(Data vs Process, Interacti..
[정처기 실기] 「6」 신기술 용어 - (6.1) 신기술 용어 「1」 소프트웨어 구축 「2」 데이터베이스 구축 「3」 운영체제 「4」 네트워크 「5」 정보보안 > 「6」 신기술 용어 > 1. 정보보안 1. 신기술 용어 SW 개발 동향 중앙 집중식 인프라, 클라우드 서비스 ○ 인터넷 기반 컴퓨팅, 타사 제공 업체가 호스팅하는 인프라 / 플랫폼 / 소프트웨어를 인터넷으로 제공 ○ 클라우드 서비스의 장점 - 서버 관리 부담 감소 - 데이터 센터 활용 - 서비스 운영 집중 가능 ○ 클라우드 서비스 제공 형태 - 퍼블릭 클라우드 : 인터넷 접속 가능한 모든 사용자 이용 - 프라이빗 클라우드 : 특정 기업 / 사용자 대상, 자원 / 데이터 기업 내부 저장(온프레미스 방식) - 하이브리드 클라우드 : 퍼블릭 / 프라..