STUDY/Algorithm 402

[프로그래머스] 뉴스 클러스터링, 2018 KAKAO BLIND RECRUITMENT, python

https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr def solution(str1, str2): str1 = str1.lower() str2 = str2.lower() # 집합 생성 set1, set2 = set(), set() dict1, dict2 = {}, {} for i in range(len(str1) - 1): tmp = str1[i:i + 2] if not tmp.isalpha..

STUDY/Algorithm 2021.06.23

[프로그래머스] 게임 맵 최단 거리, python

https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr from collections import deque def solution(maps): answer = -1 n, m = len(maps), len(maps[0]) s, e = (0,0), (n - 1, m - 1) visit = [[0] * m for _ in range(n)] dx = [1,0,-1,0]..

STUDY/Algorithm 2021.06.22

[프로그래머스] 오픈채팅방, 2019 KAKAO BLIND RECRUITMENT, python

https://programmers.co.kr/learn/courses/30/lessons/42888?language=python3 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr def solution(record): answer = [] answer_tmp = [] user_dict = {} for r in record: tmp = r.split() # answer_tmp = (uid, command) if r[0] == 'C' or r[0] == 'E': user_dict[tmp[1]] = tmp[2] ..

STUDY/Algorithm 2021.06.21

[프로그래머스] 카카오프렌즈 컬러링북, C++

https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr #include #include using namespace std; int bfs(int r, int c, bool visit[100][100], int m, int n, vector picture) { int value = picture[r][c]; int count = 0; int dx[] = {-1,1,0,0}; int dy[] = {0,0,-1,1}; qu..

STUDY/Algorithm 2021.06.21

[백준] 2671 잠수함 식별 python

https://www.acmicpc.net/problem/2671 2671번: 잠수함식별 입력에 들어있는 스트링을 읽고, 이것이 잠수함의 엔진소리를 나타내는 스트링인지 아니면 그냥 물속의 잡음인지를 판정한 후, 잠수함의 엔진 소리에 해당하는 스트링이면 "SUBMARINE"을 출력하고 www.acmicpc.net import re s = input() p = re.compile('(100+1+|01)+') m = p.fullmatch(s) if m: print("SUBMARINE") else: print("NOISE") 정규표현식을 사용해서 푸는 문제이다 조건문을 사용해서 풀었으나 답이 나오지 않아 검색을 해서 풀었다. 파이썬 에도 정규표현식을 사용할수 있는 내장함수가 있었고 이를 사용해서 쉽게 풀수있었다..

STUDY/Algorithm 2021.05.30

[백준] 2670 연속부분 최대곱 python

https://www.acmicpc.net/problem/2670 N = int(input()) nums = [float(input()) for _ in range(N)] for i in range(1, N): nums[i] = max(nums[i - 1] * nums[i], nums[i]) print("{:.3f}".format(max(nums))) 다이나믹 프로그래밍 문제이다 현재값와 현재값에 이전 값을 곱한 값 중 더 큰값으로 교체하면 된다. 수업도 이제 얼추 끝났으니 알고리즘 다시 열심히 해야겠다 (이 쉬운문제를 풀지 못하였다.)

STUDY/Algorithm 2021.05.30

[백준] 1541 잃어버린 괄호 python

https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net expression = input() num = '' number = [] op = [] for ch in expression: if ch == '+' or ch == '-': op.append(ch) number.append(int(num)) num = '' else: num += ch else: number.append(int(num)) for i in range(1, len(number..

STUDY/Algorithm 2021.05.26

[백준] 2668 숫자고르기 python

https://www.acmicpc.net/problem/2668 2668번: 숫자고르기 세로 두 줄, 가로로 N개의 칸으로 이루어진 표가 있다. 첫째 줄의 각 칸에는 정수 1, 2, …, N이 차례대로 들어 있고 둘째 줄의 각 칸에는 1이상 N이하인 정수가 들어 있다. 첫째 줄에서 숫자를 적절 www.acmicpc.net import sys; input = sys.stdin.readline sys.setrecursionlimit(10**7) n = int(input()) nums = [0]+[int(input()) for _ in range(n)] visit = [False] * (n+1) finish = [False] * (n+1) result = [] def dfs(node): global resu..

STUDY/Algorithm 2021.05.20

[백준] 1992 쿼드트리 python

https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net import sys; input = sys.stdin.readline def divNConq(size, r, c): global answer if size == 1: answer += str(matrix[r][c]) return if chk_arr(size, r, c, matrix[r][c]): answer += str(matrix[r][c]) return half = size // ..

STUDY/Algorithm 2021.05.18