본문 바로가기

알고리즘

[알고리즘] 프로그래머스 괄호 변환-Python 문제 설명 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 콘은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 합니다. 용어의 정의 '(' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와 ')' 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 부릅니다. 그리고 여기에 '('와 ')'의 괄호의 짝도 모두.. 더보기
[알고리즘] 프로그래머스 문자열 압축-Python 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, abcabcdede와 같은 문자열은 전혀 압축되지 않습니다. 어피치는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 압축하여 더 .. 더보기
[알고리즘] 프로그래머스 모의고사-Python 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작.. 더보기
[통계] 선형회귀와 알고리즘 (출처) edwith 모두를 위한 딥러닝, Sung, Kim H(x) = W * x (b = 0) ▣ 비용함수의 정의에 따라, W = 1, cost(W) = 1/3 *{(1*1-1)^2 + (2*1-2)^2 + (3*1-3)^2} = 0 W = 0, cost(W) = 1/3 *{(0*1-1)^2 + (0*2-2)^2 + (0*3-3)^2} = 14/3 =4.67 W = 2, cost(W) = 1/3 *{(2*1-1)^2 + (2*2-2)^2 + (2*3-3)^2} = 14/3 =4.67 Gradient descent algorithm : 경사를 따라 내려가는 알고리즘 비용함수, 머신러닝 최소화 문제에 사용 W,b의 함수에 적용시켜 최소값을 산출 다수의 값을 포함하는 Cost function도 최소화 가능.. 더보기
[Python] 파이썬으로 배우는 프로그래밍 (출처) edwith 파이썬으로 배우는 프로그래밍 기초, 김문주 교수 Python 프로그램 작성 예제 기초적인 형태와 동작에 대해 이해하기 Top-Down형식의 코드 작성 반복문, 키워드, 들여쓰기 활용 함수 : 여러 개의 프로그램 명령어들을 모아 놓은 것 새로운 이름의 함수를 지정해주고 이를 호출될 때 실행됨 키워드 def 함수 이름() : 으로 정의됨 책을 읽는 것과 같은 메서드로 좌에서 우, 위에서 아래의 순서로 읽음 함수의 정의, 함수의 호출 PyCharm에서 함수의 정의는 파란색, 함수의 호출은 검정색으로 표현됨 함수의 정의가 설계도를 만드는 과정이라면 함수의 호출은 설계도를 기반으로 건물을 짓는 것 함수 호출은 () 안에서 이루어짐 from cs1robots import * create_wor.. 더보기
[ML] 머신러닝/딥러닝 - 모두를 위한 딥러닝 (2) (출처) inflearn 모두를 위한 딥러닝 - 기본적인 머신러닝과 딥러닝 강좌, Sung Kim 섹션 1. 기본적인 Machine Learning 의 용어와 개념 설명 ML : 일종의 프로그램 스팸 필터 개발자들이 일일이 스팸메일을 가려내기 힘듦 Automatic driving 마찬가지로 적용해야 하는 룰이 너무 많음 ▶ Arthur Samuel 프로그램이 자동적으로 배우도록 하는 아이디어를 냄 Learning : Supervised learning 레이블이 정해져있는 데이터(training set)으로 학습하는 방법 ▶ 일반적인 머신러닝의 형태 ▶ 이미지 레이블링, 이메일 스팸 필터, 시험 성적 예측 등에 사용할 수 있음 Training data Set : 결과값이 이미 정해져있는 Y값을 예측할 수 .. 더보기