목록2024/02 (99)
미소를뿌리는감자의 코딩
1. ORM ORM stands for... Object-Relational Mapping 이다. 객체 지향 프로그래밍 언어를 사용하여 호환되지 않는 유형의 시스템 간에 데이터를 변환하는 프로그래밍 기술이다. 즉, 간단히 말하면 객지프 언어를 사용, 호환되지 않는 것을 가져와서 이용하기 위함. 이라고 할 수 있을 것 같다. 구체적으로 이야기 해보면, ORM은 DB의 table을 object로 mapping하여 DB의 record에 대한 작업을 객체 지향적으로 수행할 수 있도록 해준다. -> 이를 통해서 ... SQL 쿼리를 직접 작성하는 대신, 객체의 속성과 메서드를 사용하여 데이터를 조작할 수 있다. 장점 vs. 단점 1) 장점 - 생산성과 유지보수성 향상: ORM을 사용하면 반복적인 CRUD(Crea..
https://www.acmicpc.net/problem/14534 14534번: String Permutation First line of the input contains T (1 ≤ T ≤ 200), the number of test cases. For each test case, there will a string of characters, L (1 ≤ L ≤ 5). www.acmicpc.net 1. 접근 방법 이 문제는 DFS 로 풀면 간단할 것 같다는 생각이 들었다. 그래서 각 문자열을 받고, DFS 함수로 넘겨주었다. def DFS(route, chars): if not chars: result.append(route) return for i in range(len(chars)): DFS(r..
https://www.acmicpc.net/problem/5939 5939번: Race Results The herd has run its first marathon! The N (1 초 로 값을 변경할 수 있는 코드 --- import heapq def compare_time(time): return (time[0], time[1], time[2]) def input_time(): time = list(map(int, input().split())) heapq.heappush(heap, (compare_time(time), time)) def print_time(): time = heapq.heappop(heap) print(time[1][0], time[1][1], time[1][2]) if __na..
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 www.acmicpc.net 1. 접근 방법 이 문제는 처음에 5번 구역을 0으로 채운 후, 1, 2, 3, 4번 구역을 나누어서 값을 구하려고 했었다 (5번 구역을 무시하고). 하지만... 그렇지 않을 수 있다는 가능성을 생각하지 못했고 많은 고생을 하였다. 하지만, 알고보니 그냥... 직관적으로 나뉜 영역대로 값을 더해주어야 하는 것이었다...ㅜ 우선 4중 for 문으로 x, y, d1, d2의 값을 받아주었다. for x ..