일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Open API
- 가사 검색
- pycon
- 보행자 천국
- CleanCode
- 프로그래머스
- 트라이 #trie #알고리즘
- 카카오 인턴
- 크레인 인형뽑기 게임
- Spring Boot
- jdbc
- 티스토리
- 징검다리 건너기
- 트라이
- 호텔 방 배정
- trie
- bulk update
- Tistory
- 티스토리 open api
- 튜플
- 불량 사용자
- Python
- 알고리즘
- Today
- Total
목록알고리즘 (70)
택시짱의 개발 노트
링크 https://programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 모든 명령어(기둥, 보 설치 및 삭제)를 수행한 후 구조물의 상태를 구하는 문제이다. 3일을 꼬박 고민해서 푼 문제이다.. 처음에는 명령어를 실행할 때마다 조건을 충족하는지 확인하도록 만들 었었는데 조건을 계속 if문으로 추가 해주다 보니 나중에는 알기 어려운 코드가 되어버렸다.. 그래서 그냥 명령어를 실행 할 때 맞는 조건이면 명령어를 실행 하는 것이 아닌 명령어를 그냥 먼저 실행한 후 그다음에 ..
링크https://programmers.co.kr/learn/courses/30/lessons/42894프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이 보드 위에 놓인 블록의 상태가 담긴 2차원 배열 board가 주어질 때, 검은 블록을 떨어뜨려 없앨 수 있는 블록 개수의 최댓값을 구해야 되는 문제이다. 이때 우리가 확인 해야되는 블록은 밑의 그림과 같은 가로와 세로 모양의 7개의 블록을 확인 하면 되는것을 알수 있는데. 이때 일단 우리가 여기 확인 할수 있는것은6개중 4개는 배치된 블록이고, 2개는 새로 놓은 블록이여야 된다는 것을 알 수 있다.그래서 m..
링크 https://programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 구하는 문제이다. 1부터 입국 심사하는 시간에 맞춰 입국 심사를 하는 사람을 카운트하게 되면 시간 초과가 날게 분명하다. 그래서 -> n시간/(입국 심사를 하는데 걸리는 시간) 을 하면 n시간에 도달하였을 때 입국 심사를 받을 수 있는 사람의 수를 구할 수 있다. 이것을 이용하여 문제를 풀었는데 이때 n시간을 구하기 위해서 시간을 이분탐색으로 찾았다..
링크 https://programmers.co.kr/learn/courses/30/lessons/12907# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 Finn이 n 원을 거슬러 줄 방법의 수를 구하는 문제이다. 모든 동전으로 0원을 만들 수 있는 방법은 동전을 하나도 사용하지 않았을 때 이므로 1가지이다. 1원으로 n원까지 만들 수 있는 경우의 수는 모두 1가지이다. n원을 1원으로 만들기 위해서는 1원 * n개를 사용해야 되기 때문. 2원으로 2원을 만들기 위해서는 1원 *2와 2원 *1 방법이 있다. 2가지 5원을 만들기 위해서는 1원 * ..
링크 https://programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 모든 차량이 한 번은 단속용 카메라를 만나도록 하려면 최소 몇 대의 카메라를 설치해야 되는지를 구하는 문제이다. 단속카메라를 가장 적게 설치하려면 차량의 진, 출입 구간이 겹치는 부분이 많아야 된다. 그래서 차량의 진출 구간의 위치가 빠른 순서대로 정렬을 해보았는데 어떠한 차량이 진출한 위치 보다 다른 차량의 진입 위치가 더 앞에 있다면 한 개의 단속카메라로 단속을 할 수 있게 된다. 진출 위치로 ..
링크https://programmers.co.kr/learn/courses/30/lessons/12973프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr풀이문자열을 2개씩 짝지어 제거 할수 있는데 문자열 모두를 제거 할수 있는지 없는지를 찾는 문제이다. 일단 일반적으로 문자열을 계속 탐색하여 2개씩 짝지어져 있다면 제거하고 또 탐색하여 제거하고이렇게 문제를 문다면 아마도 시간초과가 날 확률이 매우매우매우 높다. 그러기에 문자열을 한번만 탐색하면서 풀수 있는 방법을 찾아야 하는데이때 스택을 이용한다면 문자열을 한번 탐색하여 풀수 있게 된다. 1. 스택이 비어 있다..
링크 https://programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 인접한 집에서 도둑이 훔칠 수 있는 돈의 최댓값을 구하는 문제이다. 일단 원형으로 이루어진 집을 일렬로 쫙 나열해보면 이렇게 나타 낼 수 있는데 이때 3번째 2를 도착하기 위해서는 2가지 방법이 있다. 1. 첫 번째 집에서 10을 훔치고 세 번째 2에 도착하여 2를 훔치기 2. 두 번째 집에서 2를 훔치고 세 번째 2에 도착하여 2을 훔치지 않기 그렇다면 이를 이용하여 훔친 돈의 최댓값 dp 점화식..
링크 https://programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 후보 키의 최대 개수를 구하는 문제인데. 모든 키의 조합을 확인 해봐야 하기 때문에 비트마스킹을 이용하여 풀었습니다. 1. 비트마스킹을 이용하여 키의 모든 조합을 구하고 2. 구해진 키의 모든 조합이 유일성을 만족하는지 확인 3. 최소성을 확인하기 위해 키의 사용이 작은 순서대로 키의 사용이 많은것을 비교하여 최소성을 만족하지 않는 키의 조합을 없애준다. #include #include #inclu..