일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Singtone
- 플로이드워셜
- Spring
- BinarySearch
- 카카오
- 가장먼노드
- Algorithm
- 자바
- 플로이드와샬
- 스프링이란
- Java
- 카카오인턴
- sope
- @Profile
- 구현
- 이진탐색
- 프로그래머스
- 쇠막대기 문제
- 스프링
- 그래프
- Spring이란
- 백준
- 이진검색
- 토비의스프링
- 11723
- bitmasking
- 징검다리
- 스프링프로젝트 시작하기
- 알고리즘
- 전화번호 목록
- Today
- Total
목록분류 전체보기 (40)
육감적 코딩
4.1 코드의 변화 깃은 개발 중인 코드의 이력을 만들 수 있습니다. 깃이 코드 변화를 기록하는 것을 커밋(commit)이라고 합니다. 4.1.1 파일 관리 방법 보통 우리는 의미 있는 변경을 할 때 파일을 복사합니다. 그리고 복사한 새 파일에는 추가하거나 변경하고 싶은 내용을 적용합니다. 이 방식에는 부작용이 있습니다. 모든 내용이 중복되기 때문에 용량도 많이 차지합니다. 반면, 깃의 커밋은 새로 변경된 부분만 추출하여 저장합니다. 개발자 입장에서는 여러개의 파일보다는 파일 하나로 모든 이력을 처리하기 때문에 유용합니다. 4.2 새 파일 생성 및 감지 4.2.1 새 파일 생성 $ mkdir gitstudy04 ----- 새 폴더 만들기 $ cd gitstudy04 ----- 만든 폴더로 이동 $ git..
프로퍼티 Environment가 제공하는 두 번째 기능인 프로퍼티에 대해 알아보겠습니다. 이 기능은 애플리케이션에 등록되어있는 여러가지 key-value 쌍으로 제공되는 프로퍼티에 접근 할 수 있는 기능입니다. 기본적으로 계층형으로 접근합니다. 여기서 말하는 계층형이란 우선순위가 존재 한다는 뜻입니다. 프로퍼티는 여러가지 소스가 있는데 여러가지 형태로 제공될 수 있습니다. key-value 쌍으로 OS에있는 환경변수, 자바 애플리케이션을 실행할 때 넘겨주는 전 시간에 해본 -d 옵션으로 넘겨주는 프로퍼티들 등 다양합니다. 그럼, 프로퍼티어떻게 설정하고 어떻게 접근하는가? 1. VM obtions VM options에 -D 옵션으로 넣어줄 수 있습니다. 2. properties 파일 만들기 resource..
3.1 깃 저장소 생성 깃은 작선된 소스 코드 파일의 모든 변경 사항을 관리합니다. 변경 사항은 전용 저장소(repository)에 저장합니다. 3.1.1 폴더와 깃 저장소 깃은 파일의 변경 내역을 어떻게 저장하고 관리할 수 있을까요? 깃 저장소는 외형적으로 폴더와 비슷합니다. 하지만 깃 저장소는 내부적으로 구조가 다릅니다. 깃 저장소에는 별도의 숨겨진 영역(숨겨진 폴더)이 있는데, 여기에 버전 관리 시스템(VCS)에 필요한 파일 변경 이력을 기혹합니다. 3.1.2 초기화 깃에서 초기화란 이미 존재하는 폴더에 초기화 명령어로 VCS 관리를 위한 숨겨진 영역을 생성하는 작업을 의미합니다. 해당 경로로 이동한 뒤, git init 을 하면 초기화가됩니다. (숨겨진 폴더 생성) 3.1.3 숨겨진 폴더 =.gi..
1.1 버전관리 1.1.1 버전이란 사전적의미로 이전의 것과 다른 또는 약간비슷한 것 서브버전은 무엇일까요 ? 보통 버전과 버전 사이에도 코드가 수없이 변화되며 이 중간에도 버전이 있습니다. 이처럼 버전과 버전 사이에 변화된 것을 서브버전이라고 합니다. 이러한 버전의 순자나 기호 역시 일련의 규칙들이 있습니다. 버전을 부여하려면 소스 코드를 구별할 수 있는 의미 있는 변화가 있어야 합니다. 개발 도중 임시로 작업한 것을 버전이라고 말하지는 않습니다. 1.1.2 버전 관리는 왜 필요할까? 개발 도중에는 많은 기능이 추가되고, 수많은 코드가 변경됩니다. 변경되는 동안 코드들은 잠시 불안정한 상태가 되고, 이후 정상적인 테스트와 동작을 확인하고 나면 다시 안정된 상태의 코드가 됩니다. 개발 또는 테스트하는 과..
문제 https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 문제접근 처음 문제를 접하자마자 boolean 배열을 선언하여 각 숫자마다 True, False 를 두고 문제를 풀려고하였습니다. 하지만 비트마스크의 개념을 공부한 뒤, 새로운 접근법에대해 생각해볼 수 있었습니다. 비트마스크란 간단히 bit로 표시를 해둔다고 이해하면 쉽게 이해할 수 있습니다. 해당 문제를 예시로 들어보면, boolean 배열로 add 1, add 3, add 4 는 어떻게 표현될까요 ? (문제의 입력 조건을 ..
문제설명 https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr [제한사항] 징검다리를 건너야 하는 니니즈 친구들의 수는 무제한 이라고 간주합니다. stones 배열의 크기는 1 이상 200,000 이하입니다. stones 배열 각 원소들의 값은 1 이상 200,000,000 이하인 자연수입니다. k는 1 이상 stones의 길이 이하인 자연수입니다. 문제접근 알고리즘풀이 시, 제한사항을 참고하여 어떤 방향으로 문제를 접근할 지 생각하는 것은 중요합니다. 제한사항을 보면 알 수 있듯이 한 돌이 밟힘의 허용치가 최대 200,000,..
문제 설명 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 ..
문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2) 원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2) 튜플의 원소 개수는 유한합니다. 원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a3, ..., an)이 주어질 때(단, a1, a2, ..., an은 자연수), 이는 다음과 같이 집합 기호 '{', '}'..