본문 바로가기

Python & SQL63

[Python-백준 24479] DFS - 알고리즘 수업 - 깊이 우선 탐색 1 알고리즘 수업 - 깊이 우선 탐색 1 DFS 알고리즘 문제 풀이 시간 초과 건으로 인해서 계속 오류가 나는데 이유를 모르겠어서 헤매다가 해결했습니다. 문제 자체는 DFS 기본적인 내용인데 오류가 나니까 원인을 계속 찾았는데, 알고보니 입출력 간 발생 하는 문제였습니다. Python3 같은 경우, 입출력 간 시간이 많이 소요되기 때문에 input = sys.stdin.readline 코드를 통해서 입력 시간을 줄여주는 작업이 필요합니다. 입출력 관련한 문제는 백준 새싹 문제에 있으니 한번 풀어보도록 하여 익히도록 합니다. https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는.. 2022. 11. 16.
[Python-백준 10026] DFS - 적록색약 알고리즘 문제 풀이 (DFS) - 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, .. 2022. 11. 15.
[Python-백준 4963] DFS - 섬의 개수 알고리즘 문제 풀이 (DFS) - 섬의 개수 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다. 입력의 마지막 줄에는 0이 두 개 주어진다. 출력 각 .. 2022. 11. 15.
[Google Colab Pro Plus] 구글 코랩 프로 플러스 사용 후기 / 데이터 사이언스 공부 하기 / 머신러닝 코랩 (Colab)이란? 코랩은, 일반적으로 머신러닝을 돌릴 기작업 (환경설정 및 하드웨어 구성) 을 건너뛸 수 있도록 해줍니다. 딥러닝을 위해서 그래픽카드를 구매하고 호환되는 메인보드와 올바른 cuda 버전 설치에, 아나콘다 설치에, 환경 변수 잡고.. 라이브러리 설치하고.. 매우 고난한 길입니다.. 상상만 해도 눈물이 나네요 Colab은, Python Jupyter Notebook과 유사한 Shell 수준의 커널 환경을 클라우드 기반으로 구글이 제공해줍니다. 굉장히 편리하고 Jupyter Notebook을 자주 사용하시는 분이라면 금방 사용을 할 수 있을 거에요 코랩의 최대 장점은, 구글 드라이브를 이용해서 모든 자료를 쉽게 불러올 수 있다는 것입니다. ヽ(°〇°)ノ 해당 코드를 작성하여 돌리면, 아.. 2022. 10. 27.
[Python] 고위함수(higher-order function) map(), filter(), lambda() / namedtuple 사용하기 map() 함수 map() 함수는 두 번째 인수의 연속된 요소에 첫 번째 인수(함수)를 적용한 결과를 가지는 반복 가능형 객체를 반복합니다. list(map(lambda x:x, range(1, 5))) # -> [1, 2, 3, 4] map()함수의 첫 번째 인자인 lambda 함수에 두 번째 인자인 range(1, 5) 적용한 결과로 [1, 2, 3, 4]를 반환합니다. map는 lazy evaluation으로서, 실제로 계산이 필요할때 연산을 하므로 메모리 절약에 도움이 됩니다. 그래서 list로 감싸줄 때 실제 연산을 하여, [1, 2, 3, 4]를 반환하게 됩니다. 다른 예제를 통해서 map함수를 알아보겠습니다. def factorial(n): return 1 if n> [10, 12, 18, .. 2022. 6. 24.
[Python-Leetcode] 6. Zigzag Conversion (difficulty : Medium- ☆☆) 문제 설명 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line: "PAHNAPLSIIGYIR" Write the code that will take a string and make this conversion given a number of rows: string convert(string s, int numRows); Example 1: Input: s.. 2022. 5. 9.
728x90