일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c++
- 백준
- dp
- 부주상골
- 세브란스
- 독일어
- 코테
- DFS
- sql
- 프로그래머스
- SQLD
- 부주상골수술후기
- 독학
- 리눅스
- 카카오코테
- ChatGPT
- 롯데정보통신
- 부주상골증후군
- 카카오인턴십
- 카카오인턴
- IOS
- istringstream
- 코딩테스트
- 스택
- SWIFT
- 구현
- BFS
- 부주상골수술
- 독일어독학
- 분할정복
- Today
- Total
목록알고리즘 (108)
슈뢰딩거의 고등어

https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이방법] def solution(queue1, queue2): if (sum(queue1) + sum(queue2)) % 2 != 0: return -1 total = (sum(queue1) + sum(queue2)) // 2 q1 = sum(queue1) q2 = sum(queue2) idx1, idx2, t = 0, 0, len(queue1) while idx1 < 2*t and idx2..

https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이방법] 1. 문제를 하나씩 확인한다. (ex. 문제의 형식 : AB) 2. 점수를 준다. 2-1. 답변이 3 이상일 경우, A에 점수를 준다. 답변 환산 점수 1 3 2 2 3 1 환산 점수 = 4- 답변 이라는 식을 도출 할 수 있다. 2-2. 그 외의 경우, B에 점수를 준다. 답변 환산 점수 4 0 5 1 6 2 7 3 환산 점수 = 답변 - 4 이라는 식을 도출 할 수 있다. 3. ..

https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr [풀이방법] c++/ python 둘다 같은 로직으로 풀었습니다. 1. 주어진 tickets 을 알파벳 순으로 정렬한다. 2. 첫 시작공항인 ICN을 start 로 설정한 후 dfs 탐색을 시작한다. 3. start를 첫번째 인자로 하는 티켓을 탐색한다. 4. 해당 티켓의 두번째인자는 목적지이므로 두번째 인자를 start 로 설..

https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr [풀이방법] 위의 애니메이션을 보면 1행, 2행, ... n행을 붙여 1차원 배열을 만들게 되면 1, 2, ... n | 2, 2,... n | 3, 3, 3, ... n |n, n, n, ... n, n, n| 이런식으로 배열이 생기게 되는데 x행의 경우, x를 x번 반복한 후(x, x, ..., x)..

https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr [풀이방법] 이 문제는 n, m 이 y, x 이다. 위치가 바뀌어져있어서 헷갈릴 수 삽질을 할 수가 있다. 최단 거리가 조건인데 이동가능한 방향이 오른쪽/아래쪽 두가지 방향으로밖에 이동할 수 없기 때문에 항상 x, y 에 있을 때 최단거리로만 이동할 수 밖에 없다. 따라서, 그냥 n, m 으로 이동 가능한 모든 경우의 갯수를 구하면 된다. dp 식은 ..

https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr ...중략 문제가 긴것에 비해 쉽게 풀이가 가능한 문제이다. 단순하게 위에 부모노드가 있으면 10%을 주면 된다. 그리고 그 부모노드로 이동해서 계속 반복하면 된다. 그렇게 하기 위해서는 부모노드와 구한 값을 저장할 수 있는 방법이 있어야 한다! [풀이방법] 1. 현재노드의 부모를 저장한다. 2. seller 들의 판매내역인 amount*100 을 기반으로..
https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 처음에는 dfs 로 풀었는데 시간초과가 떳다. 힙 문제니까 priority_queue를 사용하면 되겠다 까지는 알겠는데 소요시간, 대기시간을 다 고려해야하니까 어떤 기준으로 정렬이 되도록 해야하는지를 모르겠었다. [풀이방법] 1. 요청시간 (job[0]) 을 기준으로 정렬을 하고, 2. time 에 실행할 수 있는 프로세스들을 pq에 넣는다. - pq 내에..

https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr [해결방법] 1. 문자열을 쪼갠다. 2. asc 로 정렬되는 queue 하나와 desc로 정렬되는 queue 하나를 사용한다. 3. push가 들어오면 인자의 갯수를 카운트하는 cnt를 하나 올린다. 4. pop_max 가 들어오면 max 의 값을 pop해주고 cnt--해준다. - cnt == 0 가 되면 큐에 인자들이 더이상 없는 것이므로 큐 두개를 다 clear 해준다. 5. pop_min 가 들어오면 min 의 값을 pop해주고 cnt--해준다. - cnt == 0 가 되면 큐에 인자들이 더이상 없는 것이므로 큐 두개를 다 clear..