본문 바로가기
728x90
반응형

분류 전체보기576

[인공지능개론] 3장. 게임트리 미니맥스 알고리즘알파베타 가지치기 알고리즘 게임의 조건게임을 위한 프로그램을 작성하는 문제를 생각해 보자. 설명을 단순화하기 위해 우리는 다음과 같은 속성을 가진 게임만 고려할 것이다.바둑이나 체스가 여기에 속한다.두 명의 경기자 - 경기자들이 연합하는 경우는 다루지 않는다.제로썸 게임 - 한 경기자의 승리는 다른 경기자의 패배다. 협동적인 승리는 없다.차례대로 수를 두는 게임만을 대상으로 한다.(순차적인 게임) 인공지능과 게임게임은 예전부터 인공지능의 매력적인 연구 주제였다.Tic-Tac-Toe나 체스, 바둑과 같은 게임은 추상적으로 정의할 수 있고 지적 능력과 연관이 있는 것으로 생각되었다.이들 게임은 비교적 적은 수의 연산자들을 가진다. 연산의 결과는 엄밀한 규 칙으로 정의된다.  바둑에서 나타나는.. 2024. 4. 27.
[코딩테스트 Lv.0] 다음에 올 숫자 문제 설명등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.제한사항2 입출력 예common result[1, 2, 3, 4] 5[2, 4, 8] 16입출력 예 설명입출력 예 #1[1, 2, 3, 4]는 공차가 1인 등차수열이므로 다음에 올 수는 5이다.입출력 예 #2[2, 4, 8]은 공비가 2인 등비수열이므로 다음에 올 수는 16이다.내 풀이Javaclass Solution { public int solution(int[] common) { int answer = 0; if((common[1] - common[0]) == (common[2] - common[1.. 2024. 4. 26.
[코딩테스트 Lv.0] 연속된 수의 합 문제 설명연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.제한사항1 ≤ num ≤ 1000 ≤ total ≤ 1000num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.입출력 예num total result3 12 [3, 4, 5]5 15 [1, 2, 3, 4, 5]4 14 [2, 3, 4, 5]5 5 [-1, 0, 1, 2, 3]입출력 예 설명입출력 예 #1num = 3, total = 12인 경우 [3, 4, 5]를 return합니다.입출력 예 #.. 2024. 4. 24.
[파이썬] 리스트 #3 리스트 요소 추가, 삭제 생성된 리스트에 요소를 추가하려면 append()함수를 사용하고 삭제하려면 remove()함수를 사용합니다. 리스트 요소 추가 append()함수를 이용하여 리스트 맨 끝에 새로운 요소를 추가할 수 있습니다. alphabet = ["a", "b", "c"] print(alphabet) alphabet.append("d") print(alphabet) 실행결과 ['a', 'b', 'c'] ['a', 'b', 'c', 'd'] 리스트 요소 삭제 리스트에서 요소를 삭제하는 방법 중 하나인 remove()함수입니다. alphabet = ['a', 'b', 'c', 'd'] print(alphabet) alphabet.remove('c') print(alphabet) 실행결과 ['a', 'b', 'c', 'd'].. 2024. 4. 21.
[코딩테스트 Lv.0] 종이 자르기 문제 설명 머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다. 정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < M, N < 100 종이를 겹쳐서 자를 수 없습니다. 입출력 예 MNresult 223 259 110 입출력 예 설명 입출력 예 #1 본문과 동일합니다. 입출력 예 #2 가로 2 세로 5인 종이는 가로로 1번 세로로 8번 총 가위질 9번이 필요합니다. 입출력 예 #3 이미 1 * 1 크기이므로 0을 return 합니다. 내 풀이 Java class Solution { public.. 2024. 4. 21.
[코딩테스트 Lv.0] 문자열 밀기 문제 설명 문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < A의 길이 = B의 길이 < 100 A, B는 알파벳 소문자로 이루어져 있습니다. 입출력 예 ABresult "hello""ohell"1 "apple""elppa"-1 "atat""tata"1 "abc""abc"0 입출력 예 설명 입출력 예 #1 "hello"를 오른쪽으로 한 칸 밀면 "ohell"가 됩니다. 입출력 예 #.. 2024. 4. 20.
[코딩테스트 Lv.0] 잘라서 배열로 저장하기 문제 설명 문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_str의 길이 ≤ 100 1 ≤ n ≤ my_str의 길이 my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다. 입출력 예 my_strnresult "abc1Addfggg4556b"6["abc1Ad", "dfggg4", "556b"] "abcdef123"3["abc", "def", "123"] 입출력 예 설명 입출력 예 #1 "abc1Addfggg4556b" 를 길이 6씩 잘라 배열에 저장한 ["abc1Ad", "dfggg4", "556b"]를 return해야 합니다. 입출력 예 #2 "abcdef123" 를 .. 2024. 4. 20.
[AI프로그래밍] 머신 러닝과 딥러닝#3 - 딥러닝이란 딥러닝이란 딥러닝은 인간의 신경망 원리르 모방한 심층 신경망 이론을 기반으로 고아된 머신 러닝의 일종. 즉, 딥러닝이 머신 러닝과 다른 큰 차이점은 인간의 뇌를 기초로 하여 설계했다는 것. 인간의 뇌가 엄청난 수의 뉴런(neuron)과 시냅스(synapse)로 구성되어 있는 것에 착안하여 컴퓨터에 뉴런과 시냅스 개념을 적용. 각각의 뉴런은 복잡하게 연결된 수많은 뉴런을 병렬 연산하여 기존에 컴퓨터가 수행하지 못했던 음성·영상 인식 등의 처리를 가능하게 함. 수상돌기 : 주변이나 다른 뉴런에서 자극을 받아 들이고, 이 자극들을 전기적 신호형태로 세포체와 축색돌기로 보내는 역할 시냅스 : 신경 세포들이 이루는 연결 부위로, 한 뉴런의 축색돌기와 다음 뉴런의 수상돌기가 만나는 부분 축삭돌기 : 다른 뉴런(수상.. 2024. 4. 20.
[인공지능개론] 2장. 탐색 [인공지능개론] 1장. 인공지능 소개 ▶인공지능의 의미를 이해한다. ▶지능의 특징을 살펴본다. ▶튜링 테스트를 이해한다. ▶인공지능이 사용되는 분야를 이해한다. ▶인공지능의 역사를 이해한다. ▶파이썬을 설치한다. 알파고 bluedayj.tistory.com ▶ 탐색의 개념을 소개 ▶ 상태, 상태 공간, 연산자의 개념을 소개 알파고는 어떻게 수를 읽었을까? 알파고는 딥러닝과 탐색 기법을 통하여 다음 수를 읽었다. 상태, 상태공간, 연산자 탐색(search)이란 상태공간에서 시작상태에서 목표상태까지의 경로를 찾는 것 상태공간(state space): 상태들이 모여 있는 공간 연산자: 다음 상태를 생성하는 것 초기상태 목표상태 8-퍼즐 8-퍼즐은 슬라이딩 퍼즐의 일종으로, 타일을 움직여서 순서대로 맞추는 퍼즐.. 2024. 4. 19.
[코딩테스트 Lv.0] 7의 개수 문제설명 머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요. 제한 사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 100,000 입출력 예 arrayresult [7, 77, 17]4 [10, 29]0 입출력 예 설명 입출력 예 #1 [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다. 입출력 예 #2 [10, 29]에는 7이 없으므로 0을 return 합니다. 내 풀이 Java class Solution { public int solution(int[] array) { int answer = 0; for(int i = 0; i < array.le.. 2024. 4. 19.
[코딩테스트 Lv.0] 문자열 정렬하기(2) 문제 설명 영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < my_string 길이 < 100 입출력 예 my_stringresult "Bcad""abcd" "heLLo""ehllo" "Python""hnopty" 입출력 예 설명 입출력 예 #1 "Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다. 입출력 예 #2 "heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다. 입출력 예 #3 "Python"를 모두 소문자로 바꾸면 "python"이.. 2024. 4. 19.
[인공지능개론] 1장. 인공지능 소개 ▶인공지능의 의미를 이해한다. ▶지능의 특징을 살펴본다. ▶튜링 테스트를 이해한다.▶인공지능이 사용되는 분야를 이해한다. ▶인공지능의 역사를 이해한다. ▶파이썬을 설치한다. 알파고의 충격알파고는 구글 딥마인드에서 2016년에 개발한 바둑 인공지능 프로그램이다.현재는 대적 상대가 없어서 은퇴한 상태이고 실력은 프로기사가 3점을 놓고 도 쩔쩔매는 수준이다. 알파고의 변신 ChatGPT의 충격Chat GPT는 OpenAI에서 만든 채팅봇으로 기존 대화 기억, 리포트 작성 기능, 자연어 생성 기능, 문맥 파악 기능등을 가지고 있다.Chat GPT는 기존의 자료를 요약하는 기능이 뛰어나서 검색을 대체할 수도 있다.상당한 코딩 실력도 갖추고 있어서 문제만 제시하면 웬만한 프로그램은 작 성해준다.인터넷, 스마트폰에 .. 2024. 4. 19.
[코딩테스트 Lv.0] 세균 증식 문제 설명 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10 1 ≤ t ≤ 15 입출력 예 ntresult 2102048 715229,376 입출력 예 설명 입출력 예 #1 처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다. 입출력 예 #2 처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다. 내 풀이 Java class Solution { pu.. 2024. 4. 19.
[AI프로그래밍] 머신 러닝과 딥러닝#2 - 머신 러닝이란 머신 러닝과 딥러닝 머신 러닝이란 머신 러닝은 인공지능의 한 분야로, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것 즉, 컴퓨터가 학습할 수 있게 하는 알고리즘과 기술을 개발하는 분야라고 할 수 있음 머신 러닝 학습 과정 머신러닝은 다음 그림과 같이 크게 학습 단계(learning)와 예측 단계(prediction)로 구분할 수 있음 학습 단계에서는 학습 데이터를 대상으로 머신 러닝 알고리즘을 적용하여 학습시키고, 이 학습 결과로 모형이 생성 예측 단계에서는 학습 단계에서 생성된 모형에 새로운 데이터를 적용하여 결과를 예측 특성 추출 머신 러닝에서 컴퓨터가 스스로 학습하려면, 즉 컴퓨터가 입력받은 데이터를 분석하여 일정한 패턴이나 규칙을 찾아내려면 사람이 인지하는 데이.. 2024. 4. 18.
[AI프로그래밍] 머신 러닝과 딥러닝#1 - 인공지능, 머신 러닝과 딥러닝 머신 러닝과 딥러닝 인공지능, 머신 러닝과 딥러닝 인공지능, 머신 러닝과 딥러닝 인공지능(Artificial Intelligence, AI)은 인간의 지능을 모방하여 사람이 하는 일을 컴퓨터(기계)가 할 수 있도록 하는 기술 인공지능을 구현하는 방법으로 머신 러닝(machine learning)과 딥러닝(deep learning)이 있음 인공지능과 머신 러닝, 딥러닝의 관계는 다음과 같음 인공지능 > 머신 러닝 > 딥러닝 인공지능과 머신 러닝, 딥러닝의 관계 목적과 주어진 환경에 맞게 데이터를 분석하려면 머신 러닝과 딥러닝 차이를 명확하게 이해해야 함 머신 러닝과 딥러닝 모두 학습모델을 제공하여 데이터를 분류할 수 있는 기술 둘은 접근 방식에 차이가 있음 머신 러닝과 딥러닝 차이 머신 러닝은 주어진 데이.. 2024. 4. 18.
728x90
반응형