- tensorflow
- 리눅스마스터2급
- programmers
- datastructure
- Univ._Study
- Database_Design
- Kubernetes
- C
- Personal_Study
- app
- Artificial_Intelligence
- Java
- study
- Android
- c++
- kubeflow
- Operating_System
- Baekjoon
- Algorithm
- Image_classification
- 자격증
- codingTest
- SingleProject
- cloud_computing
- Unix_System
- Linux
- 티스토리챌린지
- 오블완
- 2023_1st_Semester
- Python
목록전체 글 (374)
코딩 기록 저장소
문제 정보 제목 : 귤 고르기 난이도 : Lv.2 사용 언어 : Python 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138476 문제 설명 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크기의 종류가 2, 3, 5로..
1. 몇 가지 기초 사항들 알고리즘 분석의 필요성 - 어떤 알고리즘을 설계하고 나면 이 알고리즘이 자원(보통 소요시간)을 얼마나 소모하는지 분석해야 할 때가 많음. - 시간의 분석은 최악의 경우와 평균적인 경우에 대한 분석이 대표적임. - 시간 분석을 하면 알고리즘이 어느 정도의 입력에서 어느 정도의 시간이 걸리는지 미리 짐작할 수 있음. 알고리즘의 수행 시간 - 알고리즘의 수행 시간은 입력의 크기에 대해 시간이 어떤 비율로 소요되는지로 표현함. - 입력의 크기 예 ) 정렬의 경우 - 정렬하고자 하는 개체의 수 도시 간 최단 거리 구하는 경우 - 도시의 총수와 도시 간 간선(도로)의 총수 계승을 구하는 경우 - 계승치를 구하고자 하는 자연수의 크기 입력의 크기가 n인 경우에 간단한 연산으로 계산할 수 있..
문제 정보 제목 : 행렬의 곱셈 난이도 : Lv.2 사용 언어 : Python 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12949 문제 설명 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요. 제한 사항 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 return [[1, 4], [3, 2], [4, 1]] [[3, 3], [3, 3]] [[15, 15], [15, 15], [15, 15]] [[2,..
문제 정보 제목 : 괄호 회전하기 난이도 : Lv.2 사용 언어 : Python 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/76502 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중..
1. 알고리즘은 문제 해결 과정을 묘사하는 것 - 알고리즘이란 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것. - 알고리즘을 설계하기 위해서는 우선 해야 할 작업을 명확하게 명시해야 함. - 설계하려는 알고리즘이 "무엇을" 하는지는 입력과 출력으로 명시할 수 있음. ex) 학생 100명의 시험 점수를 입력으로 받아 최고점을 출력하는 작업을 함. 입력 : 학생 100명의 시험 점수 ( x[0],x[1], ~ x[98],x[99]의 값 ) 출력 : 입력된 100개의 점수 중 최댓값 ( x[0],x[1], ~ x[98],x[99]의 값 중 최댓값 ) 알고리즘의 대략적인 형태 maxScore(x[],n) { ①x[0~n]의 값을 차례대로 보면서 최댓값을 계산함; return ..
문제 정보 제목 : [1차] 캐시 난이도 : Lv.2 사용 언어 : Python 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17680 문제 설명 캐시 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다. 어피치는 제이지에게 해당 로직을 개선하라고 닦달하기 시작하였고, 제이지는 DB 캐시를 적용하여 성능 개선..