분류 전체보기
-
[Python] 얼핏 헷갈리는 소소한 용어들Programming Language/Python 2021. 4. 15. 15:14
# IDLE vs IDE vs Text Editor 1. IDLE(통합 개발 학습 환경, Integrated Development and Learning Environment) 간단한 학습 목적용 IDE이며 파이썬용 통합 개발 및 학습 환경입니다. 2. IDE(통합 개발 환경, Integrated Development Environment) 코딩, 디버그, 컴파일, 배포 등 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어를 말합니다. 3. Text Editor(≒ 경량 에디터, 코드 에디터) IDE만큼 많은 기능을 제공하진 않지만, 속도가 빠르고 단순해 파일을 열고 바로 수정하고자 할 때 주로 사용됩니다. # 파이썬 셸(Python Shell) = 대화형 셸..
-
[프로그래머스 43165] 타겟 넘버Coding Test/프로그래머스 2021. 4. 15. 13:54
# 문제 내 풀이 from collections import deque def solution(numbers, target): answer = 0 # 큐 생성 및 초기화 queue = deque([numbers[0], -numbers[0]]) idx = 1 # BFS 수행 # numbers의 마지막 숫자를 더하고 뺄 때까지 while idx < len(numbers): for _ in range(len(queue)): num = queue.popleft() # 해당 순서의 숫자를 더한 값과 뺀 값을 큐에 삽입 queue.append(num + numbers[idx]) queue.append(num - numbers[idx]) idx += 1 # 큐가 빌 때까지 while queue: if queue.po..
-
[프로그래머스 43162번] 네트워크Coding Test/프로그래머스 2021. 4. 15. 13:50
# 문제 내 풀이 # DFS 정의 def dfs(computers, v, visited, n): # 현재 노드를 방문 visited[v] = True # 현재 노드의 인접 노드를 재귀적으로 방문 for i in range(n): if computers[v][i] and not visited[i]: dfs(computers, i, visited, n) def solution(n, computers): answer = 0 visited = [False] * n # 각 노드의 방문 정보를 표현 # 첫번째 노드부터 순서대로 확인 for v in range(n): # 아직 방문하지 않은 노드라면 if not visited[v]: # dfs를 수행하고 네트워크 수를 하나 셈 dfs(computers, v, visi..
-
[프로그래머스 43163번] 단어 변환Coding Test/프로그래머스 2021. 4. 15. 13:45
# 문제 내 풀이 from collections import deque # 두 단어가 한 글자가 다른 관계인지 체크하는 함수 정의 def one_diff(word, cmp_word): cnt = 0 for i in range(len(word)): if word[i] != cmp_word[i]: cnt += 1 if cnt > 1: break if cnt == 1: return True return False def solution(begin, target, words): answer = 0 n = len(words) visited = [[False] * n for _ in range(n)] # 2차원 방문 정보 테이블 # 큐 생성 및 초기화 # begin과 철자가 하나만 다른 단어를 찾아, 방문 처리하고..
-
[CodingTest] 백준 골드 티어 도착 기록Free Contents 2021. 3. 23. 02:12
아름아름 1일 1문제 알고리즘 문제 풀이를 계속 하다보니 solved.ac에서 골드 티어에 도착해 있었다. (물론 못 푼날도 당연 존재한다...ㅋㅋㅋ) 알고리즘 괴수분들은 정말 많으시니까. 대단한 기록일리는 만무하지만, 그래도 예전 알고리즘 문제 유형도 몰랐던 갓난아기 시기에 비하면 정말 장족의 발전을 했다고 느낀다. 꾸역꾸역 어떻게든 잘해왔구나. 경험치 기록을 보니 본격적으로 백준을 풀기 시작한 12월 말즈음부터 대략 3개월 정도 걸렸나보다. 그동안 유형별 문제 풀이에 집중해서 그리디부터 DFS/BFS, DP, 최단경로 등 다양한 문제 유형에 대해 한 번 이상씩은 문제 풀이를 진행했다. 하지만 중간중간 기초가 될 수 있는 작은 유형들을 놓친 부분도 있어서, 이에 대해서 보강을 해야할 것 같다. 또한, ..
-
[백준 2581 math] 소수Coding Test/백준 2021. 3. 22. 06:13
# 문제 내 풀이 m = int(input()) n = int(input()) # 처음엔 모두가 소수인 것으로 초기화 (0과 1 제외) array = [True for _ in range(n + 1)] array[0], array[1] = False, False # 에라토스테네스의 체 알고리즘 수행 # 2부터 n의 제곱근까지의 모든 수를 확인하며 for i in range(2, int(n ** 0.5) + 1): if array[i]: # i를 제외한 i의 모든 배수를 지우기 j = 2 while i * j
-
[백준 1644번] 소수의 연속합Coding Test/백준 2021. 3. 22. 06:08
# 문제 내 풀이 # 2부터 4000000까지의 모든 수에 대하여 소수 판별 (n의 최대 입력) limit_num = 4000000 # 처음엔 모든 수를 소수(True)인 것으로 초기화(0, 1은 제외) array = [True for _ in range(limit_num + 1)] # 에라토스테네스의 체 알고리즘 수행 # 2부터 limit_num의 제곱근까지의 모든 수를 확인하며 for i in range(2, int(limit_num ** 0.5) + 1): if array[i] == True: # i를 제외한 i의 모든 배수를 지우기 j = 2 while i * j
-
[백준 1436번] 영화감독 숌Coding Test/백준 2021. 3. 19. 19:02
# 문제 내 풀이 n = int(input()) title = 666 # 영화 제목에 들어간 수 series = 1 # 해당 영화의 시리즈 순서 # n번째 영화를 찾을 때까지 완전 탐색 while series < n: # 숫자를 하나씩 늘려가며 title += 1 # 숫자에 '666'이 들어가면 영화 시리즈 개수로 셈 if '666' in str(title): series += 1 # n번째 영화의 제목에 포함된 수 출력 print(title) 시간 복잡도 O(N)