분류 전체보기 48

[백준 11725번] 트리의 부모 찾기

원본 링크 https://www.acmicpc.net/problem/11725 Intro 이번 문제는 사실 코드를 짜면서 한 7번 정도 튕겼던 문제였다. 처음에 6번 정도는 같은 알고리즘 하에 재귀 깊이만 조정해서 제출하였다. Linked list개념을 활용해서 구현하려 했으나, n*n 크기의 리스트를 활용해서 연결 여부를 저장하니까 메모리 초과 오류가 났나 보다. (지금 보니 n이 100000까지 갈 수 있다고 나와있었다. (10^10;;;)) 따라서 재귀 깊이를 아무리 조정해도 실패로 뜨길래 출발을 잘못했다 판단하고 아예 코드를 다시 짰다. 막판에 실패를 먹은 코드는 Recursion 오류 때문에 그러했고, 재귀 깊이를 조정하니 통과가 되었다. 알고리즘 문제에서도 종종 나오는 (까다로운) 그래프 탐색..

알고리즘 2022.02.16

[백준 1013번] Contact

원본 링크 https://www.acmicpc.net/problem/1013 Intro 이 문제는 읽어보면 알겠지만 정규식을 활용하게 된다. 프로그램별 언어를 배울 때 나온 와일드카드 문자와 같은 요소를 사용한다 생각하면 된다. 혹은 이산수학에서 배우는 String이나 Language에서 나오는 +, *를 사용한다고 보면 되겠다. (말이 더 어렵나..) 언어마다 차이가 있겠지만, 파이썬에선 별도로 정규식을 활용하는 라이브러리가 있으므로 이 문제를 위한 코드를 짜기가 쉽다. 문제 “무한히 넓은 저 우주에 인류만이 홀로 존재한다면, 그건 정말 슬픈 일이 아닐까요” 푸에르토리코 아레시보에 위치한 아레시보 전파망원경(Arecibo radio telescope)은 수십 년째 존재하지 않을 지도 모르는 외계 문명으..

알고리즘 2022.02.15

[백준 2003번] 수들의 합 2

원본 링크 https://www.acmicpc.net/problem/2003 Intro 이번 문제는 두 개의 포인터를 이용해서 푸는 문제이다. 뭐 가령 퀵 정렬과 같이 두 개의 포인터가 왔다갔다 하면서 값을 조정하고 계산한다고 보면 된다. 문제는 단순하지만 처음 접해보면 어렵다고 느낄 수 있는 문제였다. 문제 N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 ..

알고리즘 2022.02.14

[Hadoop] 하둡 관련 내용 & 명령어 간단 정리

Intro 개인적으로 데이터 분석 관련 내용을 정리하자는 차원에서 현재 ADP자격증 공부를 하고 있다. 그런데 보면 알겠지만 분산 처리 시스템 관련 내용이 자주 등장한다. 그 중 하둡이라는 기술은 실무에서 잘 쓰인다고 알려져 있어서 올해 안으로 이에 관해 알아보려 계획했다. 물론 당장은 다른 일정 때문에 실제 환경을 구축하고 사용해보기는 힘들다고 생각한다. 아마 본격적으로 사용하게 된다면 올해 중반쯤에나 조금 다뤄볼 생각이긴 하다. 아무튼 하둡을 다루는 강의를 들어보며 개괄적인 내용과 명령어를 복습 노트를 남긴다는 차원에서 정리해보려 한다. 적어도 이론적인 측면은 알아두면 나중에 편하지 않을까 생각한다. 하둡 시스템이란? 아파치 하둡(Apache Hadoop)이라 불리우는 친구는 HDFS와 맵리듀스를 구..

[MySQL] 과거 강의자료 정리 -1

Intro SQL문을 사용하는 것에 익숙해지기 위해서 별도의 정리를 하려고 한다. (최근에 어떤 사건으로 인해서 SQL을 단단하게 다져놔야겠다는 생각도 있고) 따라서 이전에 DB관련 강의를 들으면서 풀었던 문제를 조금 변형해서 그에 따른 코드를 작성하려 한다. 공통 조건 다음의 테이블 구조를 참고해서 1~6까지를 구하기 위한 쿼리를 작성하여라. 테이블 구조 & 관계 테이블마다 주어진 데이터 문제 1 1004번 과목을 들은 학생 중 성적이 B인 학생의 학번을 뽑아내어라. 나만의 풀이 1 일단 성적 정보는 score 테이블에 있음을 알 수 있다. 여길 보면 과목 번호도 같이 나와있으니, 여기만 탐색해서 원하는 정보를 추출할 수 있다. 단순히 SELECT와 WHERE 조건을 활용해서 다음과 같이 코드를 짜면 ..

DB, SQL 2022.02.12

[데이터분석] 유튜브 데이터 분석하기 -2

Intro 지난번엔 유튜브 정보를 끌어오기 위한 기본 설정을 했다. 이번엔 앞선 코드를 조금 더 변형해서 원하는 데이터를 추출하는 크롤러를 제작하려 한다. 또한, 차후 다른 데이터 파일로 활용할 수 있도록 DataFrame의 형태로 추출하려 한다. 이번 장의 목표는 다음과 같다. 간단한 크롤러를 제작하자 유튜브 API의 쿼리 할당량을 알아보자 레퍼런스를 확인해보자 모듈 불러오기 from urllib.parse import quote import urllib.request import json import pandas as pd # DataFrame 형태로 자료를 저장 import time # 시간 측정 용먼저 사전에 사용할 라이브러리를 불러오자. 이전 장에서 다뤘던 라이브러리도 있으며, 새로 추가된 친구..

[프로그래머스] SQL String과 Date 등..

원본 링크 https://programmers.co.kr/learn/courses/30/parts/17047 Intro 프로그래머스에 올라온 SQL문제 시리즈 중 마지막 단원에 드디어 왔다. 기타 SQL에서 다루는 여러가지 자료형들을 적절히 조작하는 문제들을 모았다 보면 된다. 문제에 따라서 기존에 풀었던 문제에 나온 메소드를 사용하는 경우도 있다. 사실상 이번 포스트는 종합선물세트(?)라 보면 되겠다. 공통 조건 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물..

DB, SQL 2022.02.10

[백준 11053, 11054번] 가장 긴 증가하는 & 바이토닉 부분 수열

원본 링크 가장 긴 증가하는 부분 수열: https://www.acmicpc.net/problem/11053 가장 긴 바이토닉 부분 수열: https://www.acmicpc.net/problem/11054 Intro 이번에도 다시 돌아온 다이나믹 프로그래밍문제이다. 재밌는 것은, 11053번 문제를 풀게 되면, 약간의 눈칫밥(?)으로 11054번도 풀 수 있다는 것이다! 따라서, 여기서 두 개의 문제를 묶어서 소개하려 한다. 11053번; 가장 긴 증가하는 부분 수열 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30,..

알고리즘 2022.02.09
728x90