일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pcce 기출문제 10번 공원 풀이
- 렌더링 파이프
- boj 1991
- c++ 5567
- gemmasprint
- python 고대 문명 유적 탐사
- pcce 기출문제 10번 지폐 접기 풀이
- 잔디 기부
- pccp 기출문제 풀이
- PCCE
- 코드트리 고대 문명 유적 탐사
- texture mapping
- boj 5567
- pcce 기출문제 10번 공원
- 고대 문명 유적 탐사
- root signature
- 티스토리챌린지
- 백준 5567
- 오블완
- pcce 기출문제 9번 지폐 접기
- directx 그래픽스
- c++ 1991
- DirectX
- DirectX12
- 수식 복원하기
- depth-stencil
- 잔디 기부 캠페인
- constant buffre
- 프로그래밍공부
- pcce 기출문제 풀이
- Today
- Total
목록프로그래밍 공부 (76)
오구의코딩모험
문제 3줄 요약 1. A0 = 1 2. i 번째 값 = ⌊i/P⌋ 번째 값 + ⌊i/Q⌋ 번째 값 3. ⌊ x ⌋ = x를 넘지 않는 가장 큰 정수 ⌊ ⌋ 가 오타인가 싶었지만, 아래 힌트를 보니 위의 설명과 같은 기호였다. 위의 기호는 i/P 와 같은 나눗셈에서는 소수점을 지운 값 즉, 몫에 해당한다. 따라서 피보나치 함수에서 사용했던 상향식과 메모리얼을 이용하여 값을 구해주었다. from sys import stdin # 상향 접근 + 메모리얼 def func(num): if num == 0: return 1 else: if num//P not in num_dict: num_dict[num//P] = func(num//P) if num//Q not in num_dict: num_dict[num//Q]..
문제 설명 3줄 요약 1. 지민이는 과장해서 이야기하는 것을 좋아한다. 2. 그 이야기의 진실을 아는 사람을 최대한 피해서 과장되게 이야기 하고싶다. 3. 최대 몇개의 파티에서 과장되게 이야기할 수 있을까 처음엔 문제를 굉장히 쉽게 생각하여 set로 파티 인원과 진실을 아는 사람의 중복을 제거 하는 것으로 접근하려 했으나, 진실을 아는 인원과 파티를 즐긴 사람도 곧, 진실을 알게되는 인원인 것을 고려해주지 않았다는 것을 깨달았다. 때문에 진실을 아는 인원을 각 파티에 참여했던 인원을 반복해서 탐색하며 갱신해주고, 최종적으로 과장되게 이야기할 수 있는 파티의 수를 카운트 해주었다. from sys import stdin if __name__ == "__main__": ## 사람의 수 N, 파티의 수 M N..
문제 설명 3줄 요약 1. 3가지 연산이 가능한 큐 2. 첫 번째 요소 빼기, 두 번째 원소 왼쪽 한칸 이동, 세 번째 원소 오른쪽 한칸 이동 3. 주어진 원소를 빼려고 할 때, 왼쪽 또는 오른쪽 이동의 최솟값은 몇 번 일까요? 기존의 리스트를 사용하기엔 왼쪽 또는 오른쪽으로 이동할 경우, 모든 원소를 한칸씩 값을 옮겨줘야한다는 문제가 생기기 때문에 링크드리스트로 값을 연결해주어 해결하였다. from sys import stdin # 링크드리스트에 사용할 원소 class Node: def __init__(self,data,next=None): self.data = data self.next = next # 링크드리스트 및 기능 class LinkedList: def __init__(self): self...
문제 3줄 요약 1. 흔히 알던 피보나치 수열을 구현한다. 2. 기본 값인 0과 1을 몇 번 호출하는지 알아보고자 한다. 3. ex) 3 = 2+1 = 1+0+1 이므로 0은 1번 호출, 1은 2번 호출이다. 위의 피보나치 코드는 재귀 함수를 통해 실행 되며, 하향식 구조이다 보니 그대로 실행하면 시간 초과가 생긴다. ex) 3 = 2+1 = 1+0+1 따라서 반복문을 통해 상향 구조로 코드를 작성, 한번 실행한 피보나치 값들은 리스트에 담아주어 재사용하는 방식으로 시간 초과를 해결하였다. ex) 0=0, 1=1, 2=1+0, 3=1+0+1 from sys import stdin T = int(stdin.readline()) def fibonacci(target): # 리스트의 첫 번째 값은 0의 호출수..
[삼성전자 DX부문 동계 대학생 S/W 알고리즘 역량 강화 특강] 코딩테스트를 할 때, 주로 사용하던 Python은 응시 언어가 아니었기에 C++를 기억을 되새기며 푸느라 오래 걸렸다 ㅠㅠ.. SW Expert Academy 환경 또한 익숙하지가 않아 구현하는 시간보다 적응하는 시간이 더 오래걸린 것 같기도 하다.. ㅎㅋ 문제가 2 문제라 다행이었지 많았으면 5일 내내 풀어야했을지도... 여튼 두 문제 모두 정답! 끝
[코딩테스트 고득점 KIT - 완전탐색] def solution(sizes): w=max(map(lambda x: x[0],[[x[1],x[0]] if x[0] < x[1] else x for x in sizes])) h=max(map(lambda x: x[1],[[x[1],x[0]] if x[0] < x[1] else x for x in sizes])) return w*h
boostcourse 인공지능(AI) 기초 다지기 -- 파이썬 다지기 리스트를 이용한 스택과 큐 스택(Stack) 나중에 넣은 데이터를 먼저 출력, Last In First Out(LIFO) 입력을 PUSH, 출력을 POP 리스트에서는 append, 출력은 pop() 큐(Queue) 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조, First In First Out(FIFO) 리스트에서는 append, 출력은 pop(0) 튜플과 집합 튜플(Tuple) 리스트와 동일하게 사용하나 값의 변경이 불가능한 리스트, 표현은 [ ] 가 아닌 ( ) 를 사용 값이 하나인 Tuple은 반드시 (1,) ",'를 붙여야함. (1) 은 일반 정수로 인식 집합(Set) 값을 순서없이 저장, 중복 불허하는 구조 remo..
[SQL 고득점 KIT - SELECT] 조건과 정렬 값 추출은 어렵지 않았지만, 추출한 두 테이블을 UNION ALL로 합치는 게 중요하였다. UNION은 두 개 이상의 SELECT문의 행을 합치는 역할, UNION ALL은 중복을 포함한 모든 값을 합치는 역할이다. 즉, UNION은 중복된 행은 제거하고 하나만 합친다. 위의 문제에서는 동일한 데이터가 없다고하니 UNION, UNION ALL 아무거나 사용해도 괜찮다. 여기서 UNION은 합치려는 두 테이블의 열의 개수가 같아야하는데, OFFLINE_SALE에는 USER_ID가 없으므로 NULL 값인 열을 USER_ID 이름으로 생성해서 합쳐줬다. 끝 ## 온라인 매장 (SELECT DATE_FORMAT(SALES_DATE,'%Y-%m-%d') AS ..
[SQL 고득점 KIT - SELECT] 중복된 USER_ID, PRODUCT_ID 를 찾는 것으로 문제를 해결 하였다. GROUP BY로 묶어준 후, HAVING 절을 이용하여 중복된 행을 COUNT 해준다. COUNT의 개수가 1이 넘는다면, 동일한 상품을 재구매한 데이터가 될 것이므로 정렬해주면 끝!! SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID HAVING COUNT(*) > 1 ORDER BY USER_ID, PRODUCT_ID DESC
[SQL 고득점 KIT - SELECT] 보통의 SELECT 문제와 유사했지만, 전화번호가 NULL 인 경우를 출력대상에서 제외하는 조건과 생년월일 DATE FORMAT 이 동일해야하는 조건이 있었다. DATE_FORMAT(컬럼명, '%Y-%m-%d') # -> '2023-01-04' # %Y -> '2023' # %y -> '23' # %M -> 'January' # %m -> '01' 소문자와 대문자에 따라서 출력되는 형식도 다르니 알맞게 잘 쓰도록 하자! 다른 형식을 더 알아보고 싶다면 아래의 블로그를 참고! https://velog.io/@donghoim/MySQL-DATETIME-%EC%9B%90%ED%95%98%EB%8A%94-%EC%9C%A0%ED%98%95%EC%9C%BC%EB%A1%9C-..