본문 바로가기

분류 전체보기15

[프로그래머스] 숫자야구 문제 (Level 2) Python 풀이 문제 설명 숫자 야구 게임이란 2명이 서로가 생각한 숫자를 맞추는 게임입니다. 게임해보기 각자 서로 다른 1~9까지 3자리 임의의 숫자를 정한 뒤 서로에게 3자리의 숫자를 불러서 결과를 확인합니다. 그리고 그 결과를 토대로 상대가 정한 숫자를 예상한 뒤 맞힙니다. * 숫자는 맞지만, 위치가 틀렸을 때는 볼 * 숫자와 위치가 모두 맞을 때는 스트라이크 * 숫자와 위치가 모두 틀렸을 때는 아웃 예를 들어, 아래의 경우가 있으면 A : 123 B : 1스트라이크 1볼. A : 356 B : 1스트라이크 0볼. A : 327 B : 2스트라이크 0볼. A : 489 B : 0스트라이크 이때 가능한 답은 324와 328 두 가지입니다. 질문한 세 자리의 수, 스트라이크의 수, 볼의 수를 담은 2차원 배열 base.. 2020. 2. 21.
[프로그래머스] 프린터 문제 (Level 2) Java / Python 풀이 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가 몇 번째로 인쇄되는지 .. 2020. 2. 17.
[Coursera ML][3주차] Logistic Regression (로지스틱 회귀) 1) Classification and Representation 0 or 1 하나의 값을 가지는 변수 y를 예측 0 : '음성 분류' / 1 : '양성 분류' + multi classification도 있음 cf) 우선 강의에서는 이진 분류 위주로 진행 선형 회귀를 분류문제에 적용하기에는 예시1 ) 데이터에 적용했을 때 임계값 0.5에 대해 잘못된 결과 예시2 ) 가설의 결과값이 0과 1 사이여야 하는 데 그밖의 값을 가질 수 있음 => 이러한 어려움이 있기 때문에 로지스틱 회귀 알고리즘 사용 cf) 로지스틱 회귀에서 회귀는 역사적으로 붙여진 이름이지 선형회귀와 헷갈리지 말것! 가설 표현 모델 : 분류 문제에서 가설 표현 시 사용 ex) hθ​(x) will give us the probability .. 2020. 2. 11.
[프로그래머스] 2020 카카오공채 괄호 변환 문제 (Level 2) Python 풀이 작년 하반기에 블라인드 코딩테스트로 출제되었던 문제이고, 실제로 해당 시험에 참여했어서 푼 적이 있다. 하지만 이번주부터 새로 시작한 알고리즘 스터디로 이 문제를 풀게 되어서, 이미 프로그래머스 정확성 테스트를 통과한 문제를 다시 푸는 건 처음 접해보는 경험이었다. 생각보다 오래 공부를 쉬었다고 느낄 정도로 새로 푸는 문제 같았다 ^^ .... ㅎ 그래도 개선시키기 위해 (엄청나게 개선된 바는 없지만ㅠ) 지난 GDG on Campus에서 클린코드 세션의 내용을 기억에서 겨우 몇개만 끄집어내어 변수 사용을 줄이고 함수 사용을 하는 리팩토링의 작업을 조금이나마 하려고 노력했다. 문제에 대한 조건과 설명은 아주 상세해서 풀기에 용이한 문제였다. 문제 설명 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 .. 2020. 2. 11.
[Coursera ML] [2주차 복습] Octave Tutorial 한창 열심히 듣다가 바빠져서 잠시 안들었더니, 계속 우선순위에서 밀려 이제야 다시 시작해보려고 한다. 다른건 읽기 자료로 다 정리되어 있어서 배웠던 부분들이 금방 백업됬는데 튜토리얼부분은 없어서 내가 직접 정리하기로 결심했다. 이번을 토대로, 가능하면 강의 들을 때마다 이렇게 정리해놓으려고 한다. 수동적으로 강의나 읽기자료로 던져주는 걸 받아먹기보다 능동적으로 나도 함께 수업을 들어야 좀 더 기억에 오래 남을 것 같아서! (항상 노트에 정리하면서 공부하는 내 습관 때문이기도 하다) 1. Basic Operations Octave를 사용하는 이유 : 프로토타입하기에 좋아서. 그리고 Octave는 오픈소스! 1) Variables 기본 연산자 : + - * / ^ % : 주석 논리연산자 : == != && .. 2020. 2. 10.