본문 바로가기

전체 글401

[면접을 위한 CS 전공지식 노트] 데이터베이스 chapter 4) 데이터베이스 SECTION1 데이터베이스의 기본 데이터베이스(DB, DataBase) : 일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터의 모음 DBMS(DataBase Management System) : 해당 데이터베이스를 제어, 관리하는 통합 시스템 ex) DMBS(mysql), 응용 프로그램(Node.js, php) 1. 엔터티(entity) 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사 ex) 엔터티(회원), 속성(이름, 아이디, 주소, 전화번호) 약한 엔티티와 강한 엔티티 A가 혼자서 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔티티, B는 강한 엔티티 ex) 약한 엔티티(방), 강한 엔티티(건물) 2. 릴레이션(relation).. 2023. 7. 7.
[면접을 위한 CS 전공지식 노트] 디자인 패턴과 프로그래밍 패러다임 chapter 1) 디자인 패턴과 프로그래밍 패러다임 SECTION 1 디자인패턴 디자인 패턴 : 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 ※ 코딩그라운드 링크: https://www.tutorialspoint.com/compile_java_online.php 1. 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 보통 db 연결 모듈에 많이 사용 장점: 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 떄문에 인스턴스를 생성할 때 드는 비용이 줄어듬 단점: 의존성이 높아짐 -> 의존성 주입을 통해 모듈간의 결합을 느슨하게 만들어 해결 .. 2023. 6. 16.
[프로그래머스] 양과늑대 2022 KAKAO BLIND RECRUITMENT dfs ※ 카카오 공식 해설 https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ 2022 카카오 신입 공채 1차 온라인 코딩테스트 for Tech developers 문제해설 지난 2021년 9월 11일 토요일 오후 2시부터 7시까지 5시간 동안 2022 KAKAO BLIND RECRUITMENT 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, JavaScript, K tech.kakao.com [문제] 이진트리 문제이다. 늑대가 양보다 많은 경우를 제외하고 최대로 모을 수 있는 양의 개수를 리턴하면 된다. [과정] 항상 bf.. 2023. 5. 12.
[프로그래머스] 코딩 테스트 공부 2022 KAKAP TECH INTERNSHIP 코딩 테스트 공부 DP ※ 카카오 공식 해설 https://tech.kakao.com/2022/07/13/2022-coding-test-summer-internship/ 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com [문제] 문제가 생각보다 어려워서 카카오 해설을 참고했다. 여기서 짚고 넘어갈 부분은 (초기 알고력, 초기 코딩력) 상태에서 시작해 (목표 알고력, 목표 코딩력) 상태에 도달하는 최단 시간을 구하는 문제라는 것 '알고력'과 '코딩력'.. 2023. 5. 12.
[백준] 1453 1로 만들기 백준 1453번 1로 만들기 DP [문제] 기본적인 DP(동적계획법) 문제 오랜만에 풀게되서 dp를 생각하지 못했고 dp개념을 다시 공부한 후 풀었다. 핵심은 1,2,3번으로 나온 연산의 최소횟수를 구하는 것 [과정] dp - BottomUp 풀이 / for문 사용 다른 하나는 재귀를 사용하는 TopDown 풀이가 있는데 이 문제에서는 BottomUp풀이를 사용했다. n에 변수 입력받기 dp배열을 0이 (x+1)개 있는 리스트로 초기화 dp[1]은 0이고 1이 1로 되는데 필요한 연산은 0회라는 뜻 즉, 이후에 dp[2]는 2가 1이 되는데 필요한 최소 연산 횟수인 1이 될 것 2부터 n+1까지 반복 dp[i]=dp[i-1]+1 : d[i]는 숫자 i가 1이 되는데 걸리는 최소한의 연산 횟수를 저장 i에.. 2023. 5. 12.
[프로그래머스] k진수에서 소수 개수 구하기 프로그래머스 2022 KAKAO BLIND RECRUITMENT k진수에서 소수 개수 구하기 구현 ※ 카카오 공식 해설 https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ 2022 카카오 신입 공채 1차 온라인 코딩테스트 for Tech developers 문제해설 지난 2021년 9월 11일 토요일 오후 2시부터 7시까지 5시간 동안 2022 KAKAO BLIND RECRUITMENT 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, JavaScript, K tech.kakao.com [문제] 10진수를 k진수로 변환하고 그 안에서 소수의 개수를 구하는 문제 제한사항에서 n의 .. 2023. 5. 9.
[프로그래머스] 파괴되지 않은 건물 2022 KAKAO BLIND RECRUITMENT 파괴되지 않은 건물 누적합 ※ 카카오 공식 해설 https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ [문제] 적의 공격 및 아군의 회복은 직사각형 형태 내구도는 음수도 될 수 있음 여러차례의 공격 및 회복이 끝나면 내구도가 0보다 큰 건물의 개수를 반환하면 되는 문제 우선 문제풀이에 앞서 시간복잡도부터 계산하도록 하자. 기본적으로 1억의 연산은 1초의 시간이 소요된다. 해당 문제는 최악의 경우에 1,000 x 1,000 x 25.,000 = 250,000,000,000의 시간이 소요됨을 알 수 있다. 즉, 브루트포스로 풀게 되는 경우에는 O(N x M x K)이 되고 정확성 테스트에는 통.. 2023. 5. 9.
[인턴] 카카오엔터프라이즈 회고 및 후기 [카카오엔터프라이즈 인턴 후기] 기간 : 2022.10.18 ~ 2023.4.30 포지션 : 백엔드 개발 중간에 한번 계약 연장을 하게되서 약 6개월동안 인턴생활을 하게 됬다. KEP에 있는동안 정말 시간이 빠르게 흘렀고 실무는 처음이었기에 의미있는 경험이었다. 카엔프에서 인턴으로 활동했던 일상과 그동안 배운것들을 가볍게 기록해보려고 한다. KEP 일상 1. 출근 기본적으로 자율출퇴근제를 시행하고 있어서 출근은 프리했다. 하지만 우리부서는 10시에 데일리미팅이 있어서 10시전에는 출근을 했다. 보통 9시~18시로 일을 했던 것 같다. 처음 한달간은 풀출근 후 주2회 재택이 가능했다. (부바부) 시니어분들은 대부분 풀재택하시는 분들이 많았던 것 같다. 그래서 가끔 출근하시면 되게 반가웠다ㅎㅎ. 2. 근무 .. 2023. 5. 1.
반응형