일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hyperclovaX
- 딥러닝
- LLM
- 인공지능
- KT
- SearchGPT
- 생성형 AI
- AI
- KoGPT
- SKT
- nlp
- ML
- naver
- GPT4
- LLaMA
- 생성형
- deeplearning
- ChatGPT
- OpenAI
- Stable Diffusion
- GPT-3.5
- generative
- gpt
- 3기
- Meta
- GPT-4
- 네이버
- TRANSFORMER
- AIVLE
- Today
- Total
목록Coding Test (11)
Ttoro_Tech
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS 문제 Tickets 정보를 받아 그래프로 만들어 DFS를 적용하는 문제이다. 이 때, 두 곳으로 가능한 경우, 알파벳 순으로 먼저 방문하는 것이 특징이다. sorted를 통해, 알파벳순으로 저장하게 하였고, dfs를 재귀로 돌면서 방문 경로를 결정한다. from collections import defaultdict def solution(tickets): answer = [] # 정답을 ..
https://ko.wikipedia.org/wiki/%EC%88%9C%EC%97%B4 순열 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 3개의 서로 다른 공에 대한 총 6가지의 순열 루빅스 큐브의 면에 대한 회전은 그 면의 9개의 부분에 대한 한 가지 순열이다. 수학에서 순열(順列, 문화어: 차례무 ko.wikipedia.org 순열 수학에서 순열 또는 치환은 순서가 부여된 임의의 집합을 다른 순서로 뒤섞는 연산 즉, 정의역과 공역이 같은 전단사 함수 n개의 원소에 대한 순열의 수는 $n$의 계승 $$n! = n\times(n-1)\times(n-2)...2\times1$$ 과 같음 이와 같은 순열을 구하는 방법에는 2가지 방법이 있음 1. BFS 방식 nums = [1,2,3..
파스칼 삼각형 파스칼의 삼각형(Pascal's triangle)은 수학에서 이항계수를 삼각형 모양으로 배열한 것이다. 이것은 블레즈 파스칼의 이름을 따 명명되었지만, 그가 처음 발견한 것은 아니고 수세기 전에 인도,[1] 페르시아,[2] 중국, 독일, 이탈리아 등에서 이미 연구된 바가 있다.[3] 파스칼의 삼각형 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 파스칼의 삼각형 속의 숫자들은 바로 윗 줄에 인접하는 두 숫자의 합으로 정의된다. 파스칼의 삼각형(Pascal's triangle)은 수학에서 이항계수를 삼각형 모양으로 ko.wikipedia.org 0번 째 줄의 경우 1로 채워진다. 1 1번 째 줄의 경우 가장자리 수는 없는 수 0으로 취급하여 그대로 내려온다. 1 1 1 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.제한 조건 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다. 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다. 곱할 수 있는 배열만 주어집니다. 입출력 예 arr1 arr2 output [[1, 4], [3, 2], [4, 1]..
https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해..
문제 조건 1. 예약 고객 중 먼저 도착한 고객의 업무를 먼저 처리 2. 예약 고객이 없으면 먼저 도착한 일반 고객의 업무를 처리 3. 단, 시작한 업무는 중간에 중단하지 않음 - 즉, 일반 고객의 업무를 처리하는 도중 예약 고객이 온 경우, 일반 고객 업무를 끝낸 후 예약 고객의 업무를 처리함 주의사항 1. 시간을 int type으로 변환하는 것이 중요 ex) "09:00" -> 9 * 60 + 0 = 540 2. 상담을 진행할 경우 현재 시간이 +10 추가됨 3. 다음 고객이 도착하는데 시간 간격이 있을 경우 현재 시간을 업데이트 해야함. Solution from collections import deque def solution(booked, unbooked): answer = [] b = dequ..
문제 해결 방법 1. 빈 문자열로 수를 초기화한다. 2. 수의 목록을 정렬한다(크게 만드는 것 우선) 3. 목록에서 하나씩 꺼내어 현재 수에 이어 붙인다. 4. 모든 수를 다 사용할 때까지 반복한다. "크게 만드는 수"의 기준? 3 32 33 34 3 vs 32 -> 332 vs 323 -> 3 3 vs 33 -> 333 vs 333 -> 3 or 33 3 vs 34 -> 334 vs 343 -> 34 단일 문자열의 경우 int와 str 비교가 가능함(사전 순) 0000 인 경우 문자열은 0000 이므로 int로 바꿔줘야 함 -> 0출력
앞에 큰 수가 있는 것이 큰 수 즉 앞에 작은 수를 뺌 but 앞에 있는 작은 수를 빼는 것이 중요 4 1 7 7 2 5 2 8 4 1 의 경우 4 1 2 2 / 뒤에 1이 빠지면 안됨. Method 1. 앞 자리에서부터 하나씩 고라서 담되, 2. 지금 담으려는 것보다 작은 것들은 도로 뺀다! 단, 뺄 수 있는 수효에 도달할 때까지만 1. 큰 수가 앞자리에, 작은 수가 뒷 자리에 놓이도록 (제약조건) 뺄 수 있는 수의 개수 -> k개로 제한 ex) 4 1 7 7 2 5 2 8 4 1 -> k=4 4 1 7 -> 1과 4를 뺄 수 있음 -> k = 2 7 7 2 -> 아직 2는 모름 7 7 2 5 -> 2를 뺌 -> k = 1 7 7 5 2 8 -> 2를 뺌 -> k = 0 7 7 6 8 4 1 최종 결과..
n = 5 reserve = [1,3,5] lost = [2,4] 1 3 5 -> 1 3 번이 2 4에게 또는 3 5 번이 2 4에게 줄 수 있음 2 4 탐욕법 (Greedy Algorithm) 1. 알고리즘의 각 단계에서 그 순간에 최적이라고 생각되는 것을 선택 2. 탐욕법으로 최적해를 찾을 수 있는 문제 -> 현재 선택이 마지막까지 최고의 선택일 경우 가능 탐욕법 적용 가능성 확인 2 4 6 만약 2번이 3, 4번이 5 빌려줄 경우? -> 2 3 4 5 6 만 받을 수 있으므로 정답이 아님 1 3 5 따라서 빌려줄 학생들을 "정해진 순서"로 살펴야 하고, 이 "정해진 순서"에 따라 우선하여 빌려줄 방향을 정해야함. Solution(1) 학생의 수는 기껏해야 30명 -> 학생 수만큼 배열을 확보하고, ..
2가지 색을 가진 종이 존재할 때, 임의로 구간을 자를 경우 두 색의 각각 갯수가 같고 구간 길이가 최대인 길이를 구하여라. 종의 색에 따라 1 또는 2가 들어온다. [1, 2, 1, 1, 1, 2, 2, 1] 6 [1, 1, 1, 1, 1, 1] 0 [2, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1] 4 1. 누적합을 이용하는 방법 - itertools 안에 있는 accumulate 함수를 사용한다 itertools.accumulate(iterable, func, *, initial=None) - iterable : list 등과 같은 자료구조 - func : binary function - initial : 시작하는 값 Trick - Important - 1인 경우 1로 저장, 2인 경우를 ..