Developing Myself Everyday
article thumbnail
자료구조의 분류

자료구조란? 자료구조는 서비스나 어플리케이션에서 필요한 데이터를 메모리에 어떻게 구조적으로 잘 정리해서 담아두고 관리하고 최종적으로 가장 효율적인 방식으로 필요한 데이터에 빠르게 접근하고 필요한 수정, 삽입, 삭제를 할 수 있도록 도와준다. 서비스에서 Client에게 데이터를 제공하거나 어플리케이션에서 사용자에게 필요한 데이터를 보여주거나 효율적으로 일을 처리하기 위해서는 적합한 자료구조를 사용하는 것이 정말 중요하다. 좋은 개발자가 되기 위해서는 memort effciency에 포커스를 맞춰서 알고리즘과 자료구조를 잘 공부해야 할 것이다. 자료구조의 분류 기본적인 자료구조를 선형, 비선형 구조로 나눴을때 우리가 알아야 하는 것들이다. 자료구조를 공부할때 우리는 자료 구조 안에 있는 데이터들의 순서가 보..

article thumbnail
DATABASE(6) - Database Server, Database Client

생활코딩 hello world 생활코딩의 세계에 오신 것을 환영합니다. 생활코딩은 일반인들에게 프로그래밍을 알려주는 무료 온라인, 오프라인 수업입니다. 어떻게 공부할 것인가를 생각해보기 전에 왜 프로그 opentutorials.org Internet과 DATABASE의 관계 만약 DATABASE로 일을 하려고 한다면 2가지가 필요할 것이다. Database Server Database Client DATABASE는 Client 와 Server 모델을 따르며 다수의 Client들은 하나의 서버에 연결될 수 없다. Database Server는 Backend에서 작동하는 소프트웨어이며 DATABASE가 만들어지고 저장되는 장소이다...

article thumbnail
DATABASE(5) - 관계형 DB의 핵심 기능 JOIN

생활코딩 hello world 생활코딩의 세계에 오신 것을 환영합니다. 생활코딩은 일반인들에게 프로그래밍을 알려주는 무료 온라인, 오프라인 수업입니다. 어떻게 공부할 것인가를 생각해보기 전에 왜 프로그 opentutorials.org JOIN 위에는 author와 topic 테이블이 생성되어져 있다. 우리가 하고 싶은것은 이 2개의 테이블을 결합하는 것이다. 두 개의 테이블을 자세히 보면 id 값이 서로 연결되어 있다는 것을 알 수 있다. 그래서 우리는 이것을 이용해서 다음과 같이 두 개의 테이블을 JOIN 할 수 있다. SELECT * FROM topic LEFT JOIN author ON topic.author_id = au..

article thumbnail
삼총사

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/92341?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 나의 풀이 정수가 몇가지 주어졌을때 그중에서 3개를 고르고 그 수들의 합이 0이 되면 삼총사가 되는 간단한 조합 문제이다. 순열 (Permutation) & 조합 (Combination) 순열이란? 수학에서 순열(Permutation) 또는 치환은 순서가 부여된 임의의 집합을 다른 순서로 뒤섞는 연산이다. 즉, 순열은 정의역과 공역이 같은 일대일 대응..

article thumbnail
괄호 변환

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/92341?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 나의 풀이 이 문제에는 친절하게도 다시 수행하라는 식으로 재귀함수를 사용해야 한다는 것을 알려주고 있다. 다만 문자열이 "올바른 괄호 문자열" 인지 판별하는 부분이 조금 헷갈렸는데 stack을 사용해서 '(' 일때 add 해주고 ')' 일때 pop을 해주는 방식을 통해 문자열이 올바른지 올바르지 않은지 판별했다. import java.util.* cl..

article thumbnail
알고리즘과 설계기법

알고리즘이란? 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. 다음은 알고리즘 개발의 정형적인 단계이다. 문제 정의 → 모델 고안 → 명세 작성 → 설계 → 검증 → 분석 (복잡도 등) → 구현 → 테스트 → 문서화 알고리즘 설계기법 훌륭한 알고리즘 중에는 문제를 해결하는 방법과 고속화의 테크닉에 있어서 공통점을 가진 알고리즘이 많이 있다. 예를들면 퀵 정렬과 합병 정렬은 정렬 대상이 되는 데이터가 들어 있는 배열을 두 개로 나눠서 두 배열을 각각 정렬한 후, 그들 두 배열을 연결한다는 점에서 ..

article thumbnail
귤 고르기

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/92341?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 나의 풀이 - 1차 tangerine에 있는 값을 숫자와 빈도수로 나눠서 map에 넣었다. 그리고 map을 value 값으로 정렬 후 k값이 0보다 작아질 때 까지 count하고 그 count 값을 출력해줬다. 테스트 케이스에서는 작동했지만 제출 후 채점에서 오류가 발생했다. class Solution { fun solution(k: Int, tang..

article thumbnail
소수 찾기

문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/92341?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 나의 풀이 이 문제는 순열을 이용해야 한다. 다만 numbers에 있는 정수는 한번만 쓰여져야 함으로 add한 뒤에는 substring으로 제거해줬다. 문자가 0으로 시작하는것을 방지하고 중복을 허용하지 않기 위해 Mutableset을 Int로 만들고 순열이 완료가 되면 만들어진 set에 있는 숫자가 소수인지 판별하고 그 숫자를 출력해 주었다. cla..