본문 바로가기

분류 전체보기

(87)
인공지능, 머신러닝, 그리고 딥러닝의 관계 인공지능 인공지능 또는 A.I. (Artifical Intelligence)는 일반적으로 인간의 학습능력, 추론 능력, 지각 능력이 필요한 작업을 할 수 있도록 컴퓨터 시스템을 구현하려는 컴퓨터과학의 세부분야 중 하나이다. 머신러닝 머신 러닝은 인공지능의 하위 분야로, 경험을 통해 자동으로 개선하는 알고리즘을 연구한다. 데이터로부터 학습할 수 있도록 한다. 머신러닝 알고리즘 종류 먼저 크게 3가지로 나눌 수 있다. 1. 지도학습 (Supervised Learning) 2. 비지도학습 (Unsupervised Learning) 3. 강화학습 (Reinforcement Learning) 그리고 세부적으로 나눠진다. 1. 선형 회귀 (Linear Regression) 2. SVM (Support Vecotr ..
순위 검색 (Level 2) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/72412 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 지원자 정보를 저장하기 위해 infomap을 만들었다. defaultdict로 선언하여 value에 해당하는 값을 리스트로 초기화하였다. infomap의 key는 info로 만드는데, 하나의 info는 총 16가지 경우의 수로 나눠진다. 16가지의 경우의 수는 중복 조합을 구하는 함수인 product를 통해 구한다. itertools.product((True, False), repeat..
튜플 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 내 풀이 "{{2},{2,1},{2,1,3},{2,1,3,4}}" 문자열을 [{2}, {2,1}, {2,1,3}, {2,1,3,4}]와 같이 원소의 자료형이 set()인 리스트 lst를 만들었다. 그리고 lst를 길이가 짧은 원소가 앞에 오도록 정렬하였다. lst를 돌면서 현재 원소와 앞의 원소와의 차집합..
수식 최대화 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 내 풀이 permutations를 사용해서 (+, -, *)로 만들 수 있는 모든 우선순위 조합인 9가지 경우의 수를 구하였다. 그리고 수식에서 숫자와 연산자를 분리하여 리스트에 넣었다. ex) ['100', '+', '200', '-', '50', '*', '2'] 9가지 우선순위 조합에 해당하는 연산 값을 각각 구하였다. 값을 구할 때 stack을 사..
거리두기 확인하기 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 내 풀이 대기실에서 'P'의 좌표를 따로 저장한다. 'P' 간의 거리를 구하기 위해 ..
뉴스 클러스터링 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 내 풀이 먼저 str1과 str2의 다중집합을 만든다. isalpha() 함수로 영문자만 포함하도록 하였다. Counter를 사용하여 다중집합의 구성을 파악하였다. 교집합은 다중집합 한 개를 선택하고 그 다중집합의 모든 원소를 돌게 하여 구하였다. 합집합은 중졸이면 다 아는 n(A∪B) = n(A) + n(B) - n(A∩B) 공식을 ..
실패율 (Level 1) 문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 내 풀이 Counter 함수를 써서 각 스테이지에 몇 명이 머물러 있는지 구하였다. (현재 스테이지에 도달한 플레이어 수 = 전 단계 스테이지에 도달한 플레이어 수 - 전 단계에 실패한 플레이어의 수) 공식을 사용하였다. 스테이지에 도달한 유저가 없는 경우를 위해 예외 처리를 하였다. from collections import Counter def solu..
괄호 변환 (Level 2) 문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 내 풀이 그냥 문제에서 하라는 대로 했다. # 올바른 문자열인지 확인하는 함수 def is_correct(p): cnt = 0 for a in p: if a == '(': cnt += 1 else: cnt -=1 if cnt < 0: return False if cnt == 0: return True else: return False # 균형잡힌 문자열을 u..