목록분류 전체보기 (339)
꾸물꾸물 졔의 개발공부

Framework (프레임워크) 프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대(기반구조)를 제공한다. 개발자는 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수가 있다. 프레임워크는 소프트웨어의 특정 문제나 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있으며, 완성된 애플리케이션이 아니기에 개발자가 완성시키는 작업을 해야 한다. 즉, 프레임워크는 개발자가 개발을 보다 쉽게 할 수 있도록 뼈대를 제공해준다고 생각하면 된다. 예를 들어 Java 개발에서 사용되는 Spring 프레임워크나 Python 개발에 사용되는 Django, 안드로이드 앱 개발에 사용되는 Android ..
https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열을 잘 활용해서 풀 수 있는 문제이다. substring 메소드를 사용해서 년,월,일 정보를 추출하고 (year*28*12) + (month*28) + day 연산을 통해 정수로 변환하여 비교한다. 약관 종류별 보관기간은 HashMap에 저장하였다. import java.util.*; class Solution { StringTokenizer st; public int[] solution(..
https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어 www.acmicpc.net [풀이] DP를 사용해서 접근 dp[i] : i원을 만드는데 필요한 최소 동전의 갯수 n가지 종류의 동전 coin[j] 가 주어졌을 때, coin[] 금액만큼 제외한 dp 값 +1 중 최솟값을 찾는다. 점화식 : dp[i] = min(dp[i], dp[i-coin[j]] +1) 단, 최솟값을 찾기 위해서 dp 초기값을 큰 정수값으로 초기화 시켜줘야하는데 Intege..
🌟 요약 스택은 값 형식을 저장하고 지역변수와 매개변수를 저장합니다. 함수의 호출과 함께 자동으로 할당되며 함수의 호출이 완료되면 함께 소멸합니다. 스택은 정적할당영역으로 컴파일 타임에 크기가 결정됩니다. 힙은 전역 변수를 다루고 참조형식을 저장합니다. 자동으로 할당 및 해제가 되지않으며 사용자가 직접 관리해야 합니다. (자바의 경우 , 가비지 컬렉터) 힙은 동적할당영역으로 런타임에 크기가 결정됩니다. 스택(Stack) 함수의 호출과 관계되는 지역 변수 또는 매개변수가 저장되는 영역 함수의 호출과 함께 할당되며 , 함수의 호출이 완료되면 소멸한다. 원시타입(int, double, float, boolean 등등)의 데이터가 실제 값과 함께 할당 Heap 영역에 생성된 Object 타입의 데이터의 '참조값..
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net [풀이] 시간초과에 주의해야 한다. 구간합 배열을 따로 구해서 이중 포문을 돌렸더니 시간초과 투 포인터로 접근 연속된 수 하나여도 가능하므로 left 와 right를 같은 값에서 시작한다. 만약 더한 값이 S 보다 작다면 right를 오른쪽으로 옮겨가며 값을 더한다. S보다 크거나 같다면, left에서 하나씩 빼면서 S 최소 길이를 구한다. [구현 과정] arr[]: 입력받은 N개의..
https://www.acmicpc.net/problem/2638 2638번: 치즈 첫째 줄에는 모눈종이의 크기를 나타내는 두 개의 정수 N, M (5 ≤ N, M ≤ 100)이 주어진다. 그 다음 N개의 줄에는 모눈종이 위의 격자에 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 www.acmicpc.net [풀이] 구현(시뮬레이션) + DFS 치즈를 녹이는 외부공기와 내부공기를 먼저 구분해야한다. DFS 를 통해 외부공기를 찾아 값을 2로 바꾸어주었다. - 문제에 보면, "모눈종이의 맨 가장자리는 치즈가 놓이지 않는 것으로 가정한다"고 명시되어있다. - 즉, 가장자리의 모든 칸은 무조건 빈칸이자 외부공기이고, 외부공기끼리는 무조건 연결되어있다. - (가장자리 빼고 다 치즈이더라도, 가장..

메모리의 구조 프로그램이 실행되기 위해선 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같다. 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 코드(code) 영역 메모리의 코드영역은 실행할 프로그램의 코드가 저장되는 영역이며 텍스트 영역이라고도 부른다. CPU는 코드 영역에 저장된 명령어를 하나씩 읽어들여 처리한다. 데이터(data) 영역 메모리의 데이터영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역..
https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net [알고리즘] 투 포인터 제일 앞/뒤 양끝에서 두개의 포인터가 중간으로 오면서 투 포인터가 가리키는 값이 동일한지 확인 만약 다른 값이 나온다면 하나씩 제외하고 회문인지 확인하여 회문/유사회문/일반 판별 [설계] 양 끝을 가리키는 포인터로 시작 (left /right) 만약 left, right 가 가리키는 값이 같을 경우 left와 right를 가운데쪽으로 이동 left, right가 가리키는 값이 다를 경우 1. left가 ..