본문 바로가기

알고리즘55

[기초 알고리즘] 1부터 n까지의 합 구하기 문제 : 1부터 n까지 연속한 정수의 합을 구하는 알고리즘을 만들자 1단계 : 문제 정의하기 1) 입력 : n 2) 절차 : 1부터 n까지의 정수를 모두 더한다 3) 출력 : 1~n의 총 합 2단계 : 문제 풀이 절차 개념화 하기 예) 1에서 5까지 연속하는 정수 Case 1 ) 단순히 문제 그대로 풀어보기 1) 1 + 2 = 3 2) 3 + 3 = 6 3) 6 + 4 = 10 4) 10 + 5 = 15 Case2 ) 합 공식 활용하기 n(n+1) /2 3단계 : 구현하기 Case1 구현 n = 100 def sum_def(n): result = 0 for i in range(1, n+1): result += i return result print(sum_def(n)) Case2 구현 def sum_de.. 2022. 7. 18.
[코딩 알고리즘 기본 정리] 알고리즘이란? 알고리즘 분석?이란 알고리즘이란? 어떤 문제를 풀기 위한 절차나 방법 어떤 문제를 풀기 위한 절차나 방법 주어진 '입력'을 '출력'으로 만드는 과정 각 단계는 구체적이고 명료해야 함 알고리즘 분석이란? 알고리즘의 성능이나 특징을 분석하는 것 알고리즘을 푸는 여러 가지 방법이 있음 여러 가지 알고리즘 중에 상황에 맞는 적당한 알고리즘을 골라 문제를 풀 수 있음 그러기 위해서는 어떤 알고리즘이 어떤 특징을 지니고 있으며 얼마나 계산이 빠르고 편한지 알아야 함 알고리즘 평가하기 1) 계산 복잡도 평가하기 코드 실행시간을 확인하는 방법 참조 : https://camel-it.tistory.com/97 Python 코드 실행 시간 측정 (성능측정) python 코드의 순수 연산 시간과 전체 실행 시간을 측정하는 방법은 다음과 같습니.. 2022. 7. 17.
[추천시스템] 콘텐츠 기반 추천 시스템 정의 정의: 콘텐츠, 즉! 아이템을 기반으로 추천한다. 1. 사용자가 과거에 경험했던 아이템 중, 비슷한 아이템을 현재 시점에서 추천한다. 2. 아이템의 항목 자체를 분석하여 추천한다. 방법: 콘텐츠 프로파일링하여 유저가 선호했던 콘텐츠와 유사한 콘텐츠의 추천 리스트를 생성한다. 콘텐츠 프로파일링 1. 아이템에 속성, 피쳐, 항목을 정량화한다. (예: 영화의 장르, 감독 등을 원핫인코딩 혹은 벡터화 한다.) 2. TF-IDF로 설명 등을 포함하는 문서에서 키워드를 추출한다. (예: 영화 줄거리에서 키워드를 추출한다.) 3. 콘텐츠 간에 유사도 분석을 한다. ( 코사인 유사도, 자카드 유사도 등을 활용한다.) 사용자 프로파일링 1. 사용자가 아이템에 가지고 있는 특정 가중치를 활용한다. (예: 사용자가 특정 아.. 2021. 5. 2.
무료 알고리즘 문제 풀 수 있는 온라인 사이트 리스트와 특징 모음 온라인에서 코딩을 할 수 있는 사이트 https://replit.com/ 1. 코딩 자체를 온라인에서 할 수 있음 2. 가입 없이 할 수 있음 3. 모바일에서도 인터넷 브라우저를 통해 코딩이 가능함 4. 로그인을 하면 협업해서 코딩이 가능함 파이썬 튜터 pythontutor.com/visualize.html#mode=edit 1. 코드를 한줄씩 실행할 수 있음 2. IDE처럼 사용할 수 있음 온라인에서 푸는 알고리즘 사이트 프로그래머스 https://programmers.co.kr/ 1. 코딩테스트를 준비한다면, 반듯이 이 사이트를 이용해야 한다. 2. 여러 기업들이 프로그래머스를 통해 코딩 테스트를 진행한다. (대표적으로 카카오) 3. 기업 코딩 테스트의 기출 문제가 있다. 4. 기본 알고리즘 연습을 .. 2021. 4. 22.
[BERT] 자연어처리 경험 수준별로 읽기 좋은 BERT 관련 좋은 자료 링크 1. bert에 대해 알고 싶은 초보자 http://www.aitimes.kr/news/articleView.html?idxno=13117 인공지능(AI) 언어모델 ‘BERT(버트)'는 무엇인가 - 인공지능신문 지난해 11월, 구글이 공개한 인공지능(AI) 언어모델 ‘BERT(이하 버트, Bidirectional Encoder Representations from Transformers)’는 일부 성능 평가에서 인간보다 더 높은 정확도를 보이며 2018년 말 현재, ... www.aitimes.kr 2. bert와 ELMO의 세부 알고리즘을 구분해서 알고 싶은 중급자 (영어 자료임) http://jalammar.github.io/illustrated-bert The Illustrated BERT, ELM.. 2019. 7. 31.
[모델 선택하기] 머신러닝(지도학습,비지도학습,강화학습)/딥러닝 데이터 분석을 할 때, 가장 먼저 생각해야 하는 것이 분석의 목적과 목표, 그리고 그를 위한 변수와 모델을 설정하는 것이다. 여기서 모델을 정한다는 것은 목표를 도출하기 위해 머신러닝을 할지 딥러닝을 적용할지 그리고 머신러닝을 한다면 지도학습/비지도학습/강화학습 중 어떤 방식 선택할 것인지를 고민해 봐야 한다. 목표가 같다고 해도 적용하는 방법에 따라 결과들이 다르게 나올 수 있기 때문이다. 1. 머신러닝 데이터의 양이 적고 주로 정형데이터이며, 분석 목적과 목표 도출을 위해 파생변수를 도출해야 하며다양한 파라미터를 조정하여 성능평가를 할 수 있다. 1) 지도학습 조건) 지도학습은 입력데이터(이하 'x'데이터)와 출력데이터(y, 이하 라벨)가 있다. 목표) 라벨이 없는 신규 'x'데이터에 대하여 라벨값을.. 2018. 7. 19.
알고리즘이란-컴퓨터 알고리즘 알고리즘이란? 알고리즘은 문제를 효율적으로 해결하는 과정이다 참고 https://terms.naver.com/entry.nhn?docId=2270445&cid=51173&categoryId=51173 컴퓨터 알고리즘이란? 컴퓨터를 이용하여 주어진 문제를 풀기 위한 방법이나 정차- 컴퓨터에게 할 일을 하나씩 차례대로 알려줘야 함 예) 그리드 알고리즘, 해쉬 알고리즘 등 컴퓨터 언어란? 컴퓨터와 대화하기 위해서 사용하는 언어 예) C, C++, JAVA, PYTHON... 컴퓨터 프로그램이란? 컴퓨터가 특정 작업을 수행하기 위해 짜여진 명령의 순서 컴퓨터 알고리즘의 분석 단계 1) 문제 정의- 해결하려는 문제가 컴퓨터가 수행할 수 있도록 입력과 출력의 형태로 해결할 수 있도록 문제 정의 2) 알고리즘 설명-.. 2018. 6. 19.
[파이썬] 백준 알고리즘 11721번 문제:알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다.한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오. 입력:첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. BaekjoonOnlineJudgeOneTwoThreeFourFiveSixSevenEightNineTen 출력:입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글자만 출력할 수도 있다. BaekjoonOn lineJudgeOneTwoThre eFourFiveS ixSevenEig htNineTen 내 소스: a=input()d=len(a).. 2018. 4. 13.
[파이썬] 백준 알고리즘 11720번 문제:N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력: 1 15543125 700000000000000000000000011 10987654321 출력: 1157 내 소스: a = int(input())b = list(input())c = []for i in range(a): c.append(int(b[i]))print(sum(c)) 2018. 4. 13.
[파이썬] 백준 알고리즘 11719번 문제:입력 받은 대로 출력하는 프로그램을 작성하시오. 입력:입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄이 주어질 수도 있고, 각 줄의 앞 뒤에 공백이 있을 수도 있다. Hello Baekjoon Online Judge 출력: Hello Baekjoon Online Judge 내 소스: for i in range (100): print(input()) 2018. 4. 13.
[파이썬] 백준 알고리즘 11718번 문제:입력 받은 대로 출력하는 프로그램을 작성하시오. 입력:입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시작하지 않고, 공백으로 끝나지 않는다. Hello Baekjoon Online Judge 출력: Hello Baekjoon Online Judge 내 소스: for i in range (100): print(input()) 2018. 4. 13.
[파이썬] 백준 알고리즘 11654번 문제:알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력: AC09az 출력: 6567485797122 내 소스: print(ord(input())) 2018. 4. 13.
[파이썬] 백준 알고리즘 10998번 문제:두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오. 입력: 1 23 4 출력: 212 내 소스: a= input().split( )b= int(a[0])*int(a[1])print(b) 2018. 4. 13.
[파이썬] 백준 알고리즘 10996 문제:예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력: 1234 출력: ** * * ** * * * * * * * ** * * * * * * * * * * * * * * * 내 소스: a= int(input())b,c = a, a//2for i in range (1, a+1): if b%2 == 1 : print('* '*(b-c)) print(' *'*c) elif b%2 == 0 : print('* '*c) print(' *'*(b-c)) 2018. 4. 13.
[파이썬] 백준 알고리즘 10995번 문제:예제를 보고 별찍는 규칙을 유추한 뒤에 별을 찍어 보세요. 입력:첫째 줄에 N (1 2018. 4. 13.
반응형