STUDY 527

[프로그래머스] 오픈채팅방, 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

[C] scanf 개행 문자 처리

scanf를 사용하여 문자열을 입력 받다보면 가끔씩 scanf를 못받고 넘어가는 경우가 생긴다. scanf를 넘어갈때 enter(\n, 개행문자)를 사용하는데, 이 값도 문자열로 취급을 해서 생기는 문제이다. https://m.blog.naver.com/jachert555/221322109423 C언어 Scanf입력버퍼 비우기 c언어에서 가끔 발생하는 문제가 scanf로 입력받다가 입력버퍼가 다 비워지지 않아서 문자입력받는게 문자... blog.naver.com 여기에서 잘 설명해줘서 링크를 건다. 여기서 쉽게 사용하기 좋은건 여덟번째인데 %c앞에 공백을 넣으면 개행문자를 처리할수있다. #include int main() { char a, b; scanf("%c", &a); scanf(" %c", &b)..

STUDY/C, C++ 2021.06.09

[C/C++] 버블 정렬, 카운트 정렬

알고리즘 복습과 C 공부를 동시에 하기 위해 예전에 했던거 복습 1. 버블 정렬 배열 내에서 인접한 두자리를 비교하면서 정렬하는 방법이다. 정렬중에 가장 쉽게 구현할수 있다. 여기서 가끔 헷갈리는 건 이중 반복문에서 범위를 지정하는 부분이다. 항상 앞에서부터 차례대로 비교하면서 뒤에 차곡차곡 쌓는 느낌으로만 기억한다. (바깥 반복문은 정렬할 위치를 지정하고, 안쪽 반복문에서는 실제 비교 및 정렬을 수행한다.) void bubble(int *arr, int arr_size) { int tmp; for (int i = arr_size - 1; i >= 0; i--) { for (int j = 0; j arr[j+1]) { tmp = arr[j]; arr[j] = ..

STUDY/C, C++ 2021.06.03

[백준] 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