본문 바로가기

정글/TIL21

[크래프톤 정글] 50일 - 즐겁다! 오늘 한 일💪 - 알고리즘 문제 풀이(P15903 - 카드 합체 놀이) - tiny 서버 구현 알고리즘 P15903 - 카드 합체 놀이 15903번: 카드 합체 놀이 첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1, www.acmicpc.net 입력 범위를 확인하자! 파이썬은 범위에 따라 자동으로 형변화를 해주지만 자바는 그렇지 않다. Tiny 서버 구현 https://github.com/Blue-club/webproxy-lab/issues/13 [Feat] Tiny - WebProxy(mywnajsldkf) · Issue #13 ·.. 2023. 5. 24.
[크래프톤 정글] 33일 - RBTree 오늘 한 일💪 - 알고리즘 문제 풀이(P11659 - 구간 합 구하기 5) - RBTree 개념 정리 P11660 - 구간 합 구하기 5 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 이 앞에 일차원 구간 합 구하기 문제를 풀어서 DP를 사용해야함은 인지했다. 2차원에서 어떻게 할까 고민하다가 누적합을 그리기 시작했다. 구한 누적합으로 구간합은 다음의 방식으로 계산했다. 이번에는 오랜만에 자바로 풀어.. 2023. 5. 6.
[크래프톤 정글] 25일 오늘 한 일💪 - 알고리즘 시험 문제 오답 - 컴퓨터 시스템 교재 읽기(~1.6 저장장치들은 계층구조를 이룬다) WEEK03 테스트 오늘은 3주차 알고리즘 시험을 본 날이다. 이번주는 저번주보다 문제 난이도가 쉬웠고, 3문제 모두 비슷하게 느껴져서 푸는데 평이했다. (+ 이틀동안 우리 반의 교수님들 덕분에 시험 본 것도 도움되었다!) 1388. 바닥 장식 1388번: 바닥 장식 형택이는 건축가이다. 지금 막 형택이는 형택이의 남자 친구 기훈이의 집을 막 완성시켰다. 형택이는 기훈이 방의 바닥 장식을 디자인했고, 이제 몇 개의 나무 판자가 필요한지 궁금해졌다. 나 www.acmicpc.net 일반적인 탐색 형식 문제이다. -와 |을 탐색하기 위한 함수를 각각 만들어서 했다가 시험 끝나고 하나의 함수로 작성.. 2023. 5. 4.
[크래프톤 정글] 22일 - 이분 그래프 오늘 한 일💪 - 알고리즘 문제 풀이 1707번: 이분 그래프 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V와 간선의 개수 E가 빈 칸을 사이에 www.acmicpc.net 정말 사소한 이유로 디버깅에 엄청 오래 걸린 문제다... (함께 코드 봐주신 분들 정말 감사합니다.🙇‍♀️) 문제가 있는 코드 from sys import stdin as s from collections import deque s = open("input.txt", "rt") K = int(s.readline()) now_color = 1 # 1: RED, 0: None, -1: FALSE is_s.. 2023. 5. 4.
[크래프톤 정글] 21일 - 그래프 오늘 한 일✍️ - 정보처리기사 실기 시험 - 알고리즘 이론 공부(그래프) 그래프 이번 주차는 문제 풀이를 잘하는 것도 중요하지만, 그래프와 트리를 잘 이해하고 이를 응용해서 문제를 풀이하는 능력이 필요할 것 같다. 특히 이것을 무엇으로 구현하느냐에 따라 성능이 달라지기 때문에 적절한 자료형을 사용하는 것이 중요할 것이라 생각한다. 그래서 당장 문제를 푸는데에 집중하기보다 이론 공부를 함께 하면서 하고 있다. 그래서 내용들을 노션에 정리하면서 하고 있는데 내용이 좀 방대해서 여기서는 대략적인 내용만 작성하고 자세한 내용은 별도의 게시글을 작성하겠다. 그래프 구성 정점(Vertex): 대상이나 개체 간선(Edge): 이들 간의 관계 그래프 구분 유향 그래프(Directed Graph): 그래프의 방향을 가.. 2023. 5. 4.
[크래프톤 정글] 20일 - 탐색 오늘 한 일👊 - 정보처리기사 실기 시험 공부 - graph, tree 공부 범위 정리 - 알고리즘 문제 풀이: 11724 Python 2차원 배열 출력 2차원 배열을 깔끔하게 확인하고 싶다면, * 연산자와 sep 옵션을 이용한다. connection = [[0 for i in range(N)] for j in range(N)] print(*connection, sep='\n') ''' [0, 1, 0, 0, 1, 0] [1, 0, 0, 0, 1, 0] [0, 0, 0, 1, 0, 0] [0, 0, 1, 0, 0, 1] [1, 1, 0, 0, 0, 0] [0, 0, 0, 1, 0, 0] ''' Graph, Tree 이번 주차는 그래프를 공부하다보니, 내용이 무척 방대함이 와닿았다. 그래서 내가 어떤 부분.. 2023. 5. 4.
[크래프톤 정글] 19일 - 트리, PPAP 오늘 한 일👊 - tree 공부 - 알고리즘 문제 풀이 - 알고리즘 문제 오답(2주차 시험) __future__ 문이란? python3에서 쓰이는 문법을 python2에서 쓸 수 있게 해주는 문법이다. 새로운 버전으로 업데이트되지 않았거나, Tensorflow 사용 등 구버전의 언어를 쓰면서 최신 버전 기능을 사용할 때, __future__를 통해 상위 버전 기능을 쓸 수 있다. # python version2 print "hello world" # python version3 print("hello world") Reference https://teknology.tistory.com/5 list의 가장 마지막 위치에 있는 원소를 확인하는 방법 histogram = [1, 2, 3, 4, 5] print.. 2023. 5. 4.
[크래프톤 정글] 15일 오늘 한 일 - 알고리즘 문제 오답 - 알고리즘 문제 풀이(2110, 6549, 11866, 1654, 2740) Review 오늘은 이전에 푼 문제 중 정리가 필요한 것을 오답하고, 새로운 문제를 풀이하였다. P11053. 가장 긴 증가하는 부분 수열 완전 탐색, DP, 이진탐색 3가지 방식으로 모두 풀이했다. 이진탐색으로 했을 때 시간 차이가 크게 나서 신기했다. 문제를 풀다보니, 이진탐색은 특정한 값을 찾기보다는 범위를 좁혀가며 범인을 잡는 것처럼 탐색하는 것 같다. P11053. 가장 긴 증가하는 부분 수열 문제: https://www.acmicpc.net/problem/11053 가장 긴 증가하는 부분 수열 문제, 줄여서 LIS(Logest Increasing Subsequence)라고도 한다... 2023. 5. 4.
[크래프톤 정글] 14일 - deque, Review 오늘 한 일☀️ - deque 공부 - 알고리즘 하 문제 위주 풀이 -> 완료 - 알고리즘 문제 오답 -> 진행 중 - 이진 탐색 공부(lower bound, upper bound, check 위주) -> 진행 중 deque deque는 앞, 뒤에서 데이터를 정리할 수 있는 양방향 자료형이다. +) 왜 양방향이 필요한가! 한쪽 방향으로만 출입구를 사용하면 맨 앞에 있는 원소를 제거할 때 n번의 이동이 필요하다. 평균적으로 n/2. 하지만 앞에서 뺀다면 1번만에 빠지기 때문에 상관없다. 자료구조 개념은 이전에 공부한 경험이 있으니, 각 언어에서 사용법을 알면 될 것 같다. 참고로 deque를 파이썬 공식 문서에서 찾아보면 양쪽 끝에서 빠르게 추가와 삭제를 할 수 있는 리스트류 컨테이너 라고 나온다. 여기서.. 2023. 5. 4.