일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django
- 최소스패닝트리
- 소프트웨어공학
- minimum spanning tree
- MyPlaylist
- Bellman-Ford
- 실습
- codetree
- 코드트리
- 모각코
- 함밥
- 알고리즘
- SQL
- 장고
- Kruskal
- DFS
- 데이터베이스
- B대면노래방
- Planned
- 동적계획법
- 프로그래머스
- programmers
- 백준
- 백트래킹
- 그리디알고리즘
- 파이썬
- DP
- BFS
- 마라마라빔
- 종합설계
- Today
- Total
목록Coding (86)
Leta Learns
문제 https://www.acmicpc.net/problem/3649 3649번: 로봇 프로젝트 각 테스트 케이스마다 한 줄에 하나씩, 구멍을 완벽하게 막을 수 있는 두 조각이 없다면 'danger'를 출력한다. 막을 수 있는 경우에는 'yes ℓ1 ℓ2'를 출력한다. (ℓ1 ≤ ℓ2) 정답이 여러 개인 경우에 www.acmicpc.net 본인 스스로 그리디를 잘 푼다고 (감히) 생각해왔는데 요며칠 그리디 문제들을 풀어보니 절대 아니었다는 것을 깨달았다. 오늘 푼 이분탐색 문제가 더 수월했다. 입력받은 레고 조각들을 리스트에 담아 for문을 돌려서 비교를 하였다. 구멍의 너비와 두 조각 길이의 합이 같은 경우 ans 리스트에 append를 하였다. 구멍을 막을 수 있는 경우가 여러 개가 존재하면 두 조..
문제 https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 어제 조금 정신 없는 상태에서 풀었더니 제출도 못하고 예제부터 틀렸었다. 어제는 일이 생겨서 다른 거 하다가 다시 못 풀어서 오늘 마저 풀었다. 어제 푼 코드를 보니 그냥 뭐 말도 안 되는 코드길래 ㅋㅋ 싹 다 갈아 엎었다. n: 리스트에 있는 점수의 개수. p: 랭킹 리스트의 개수. n = 10, p = 5의 경우, 리스트에 10개(n)의 점수가 있어도 랭킹 리..
문제 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 1700번에 비하면 쉬운 문제였다. (실버1) 순위를 입력받는 거라서 1이 좋은 건데 처음에 5가 좋은 거라고 착각했다. 문제 다시 읽어보다가 깨닫고 수정했다. 람다를 이용해서 서류 순위, 면접 순위 기준으로 다중 정렬을 했는데, 동석차가 없으니 서류 기준으로만 정렬하고 서류 1위면 일단 채용한다. (cnt = 1) 서류 1위의 면접 순위를 first 변수에 넣고 for..
문제 https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 그리디 오랜만에 풀어서 어려웠다... 골드1이기도 했고...... 구조를 잡는 것부터 어려웠다. 빈 콘센트가 존재하는 경우 플러그를 꽂고, 이미 해당 기기가 꽂혀있는 경우에는 다시 꽂지 않아야 한다. 콘센트가 꽉 차 있고, 해당 기기가 꽂혀있지 않은 경우에는 두 가지를 고려해야 한다. 멀티탭에 꽂혀있는 기기들 중 이후에 재사용하는 기기가 없는 경우 재사용하는 기기가 있는 경우 1번의 경우 재..
문제 https://www.acmicpc.net/problem/2529 2529번: 부등호 여러분은 제시된 부등호 관계를 만족하는 k+1 자리의 최대, 최소 정수를 첫째 줄과 둘째 줄에 각각 출력해야 한다. 단 아래 예(1)과 같이 첫 자리가 0인 경우도 정수에 포함되어야 한다. 모든 입력 www.acmicpc.net permutation 함수를 사용해서 모든 경우를 다 확인하였다. 최근에 브루트포스 문제를 풀고 있었는데 감이 잘 잡히지 않아서 순열, 조합 함수를 직접 만들어보지는 못하더라도 일단 라이브러리라도 써서 문제를 풀어보자 라는 마음가짐이었다. 그래서 어찌저찌 permutations 라이브러리를 사용해서 코드를 만들기는 했다. 딱 봐도 시간초과 날 것 같아서 pypy3로 제출했는데 5분 동안 기..
문제 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 이 문제를 어렵게 풀게 된 이유는 크게 두 가지가 있다. 첫 번째는 visited 배열을 알파벳 개수에 맞춰 만들지 않고 입력받은 알파벳 리스트의 해당 인덱스를 1로 바꾸어주는 방법을 선택했다는 점이다. 그리고 같은 알파벳을 두 번 이상 지나갈 수 없으므로 check 리스트에 해당 알파벳을 append 하여 중복을 확인하는 방식이었다. ex) CAAB 이 경우, C를 지나갔다고 하면 ..
문제 https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net ㅋㅋㅋㅋ... 며칠 쉬었더니 머리가 안 돌아간다... permutations 라이브러리 쓰지 말고 그냥 노가다로 직접 해봐야 하는데 그것도 감이 안 잡혀서 일단 라이브러리를 사용했다... 안 쓰고도 한번 풀어봐야겠지.... 정말.... 난 넘 멍청하다..... from itertools import permutations import sys input = sys.stdin.readline n = int(i..
문제 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 처음에는 문자를 하나하나 비교해서 풀어야 하나 라는 생각을 했다. 귀찮기도 하고 감도 잘 안 잡혀서 생각 좀 하다가 java 풀이를 검색했다. combination을 사용한 풀이가 있길래 나도 combination 함수를 사용하였다. combination 함수 사용하기 전에 입력받은 알파벳들 정렬하는 과정을 빼먹어서 시간이 좀 걸렸다. 문자열 합칠 때 join 함수 사용하는 것도 잊지말자. imp..
문제 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 브론즈 문제인데 처음에 접근법 생각하는 게 시간이 좀 걸렸다. 9명 중에 2명을 뺐을 때 나머지 7명 키의 합이 100이 되는 경우 그 2명을 빼주었다. import sys input = sys.stdin.readline height = [int(input()) for _ in range(9)] total = sum(height) for i in range(9): for j in range(i+1, ..
문제 https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net bfs 풀 때 visited 배열 안 쓰고 푸는 게 편하길래 이 문제도 그렇게 접근했는데 잘 안 풀려서 결국 visited 배열을 사용하였다. 모든 L에 대해서 bfs 탐색을 시도해야 해서 시간초과 날까봐 코드 짤 때부터 걱정했는데 역시나였다. pypy3로 제출해서 성공하였다. import sys from collections import deque input = sys.stdin.readlin..