728x90

전체 글 374

[백준/BOJ] gold4 - 1967번 트리의 지름 (Python)

▶1967 - 트리의 지름 ▶문제 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다. 이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다. 입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지름을 구해서 출력하는 프로그램을 작성하시오. 아래와 같은 트리가 주어진다면 트리의 지름은 45가 된다. 트리의 노드는 1부터 n까지 번호가..

BOJ Code/Gold 2023.04.10

[백준/BOJ] gold5 - 10026번 적록색약 (Python)

▶10026 - 적록색약 ▶문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, 파랑 1, 초록 1) 하지만, 적록색약인 사람은..

BOJ Code/Gold 2023.04.10

[인공지능] 4장. 신경망 기초3

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶4.7 다층 퍼셉트론 퍼셉트론은 선형이라는 한계 - 선형 분리 불가능한 데이터에서는 높은 오류율을 가진다. 4.7.1 특징 공간 변환 퍼셉트론 두 개로 특징 공간을 세 개의 부분 공간으로 나눌 수 있다. 두 퍼셉트론을 병렬로 결합하면 (x1, x2) 공간을 (z1, z2) 공간으로 변환할 수 있다. 새로운 공간 (z1, z2)의 흥미로운 특성 - 선형 분리 불가능하던 네 점이 선형 분리가 가능해진다. - 퍼셉트론을 하나 더 쓰면 XOR 문제를 푸는 신경망이 완성된다. 신경망을 공간 변환기로 볼 수 있다. - 원래 특징 공간을 ..

[인공지능] 4장. 신경망 기초2

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶4.4 퍼셉트론 학습 알고리즘 4.4.2 경사 하강법(gradient descent)의 원리 학습 알고리즘은 J의 최저점 w를 찾아야 한다. 학습 규칙 유도 - 경사 하강법은 미분을 이용해 최적해를 찾는 기법이다. - 미분값 ∂J / ∂w1의 반대 방향이 최적해에 접근하는 방향이므로 현재 w1에 -∂J / ∂w1를 더하면 최적해에 가까워진다. - 방향은 알지만 얼마만큼 가야 하는지에 대한 정보가 없기 때문에 학습률 p를 곱하여 조금씩 이동한다. - p는 하이퍼 매개변수로서 보통 0.001이나 0.0001처럼 작은 값을 사용한다..

[인공지능] 4장. 신경망 기초1

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶4.1 인공 신경망의 태동 인공 신경망은 생물 신경망에서 영감을 얻었지만 실제 구현은 다르다. - 컴퓨터의 작동 원리가 생물의 작동원리와 근본적으로 다르기 때문이다. 4.1.1 생물 신경망 사람의 뇌와 컴퓨터 - 뉴런은 뇌의 정보처리 단위로서 연산을 수행하는 세포체이다. - 처리한 정보를 다른 뉴런에 전달하는 축삭, 다른 뉴런으로부터 정보를 받는 수상돌기로 구성되어 있다. - 사람 뇌는 10^11개가량의 뉴런, 뉴런마다 1000개가량의 연결이 있다. -> 고도의 병렬 처리기 - 반면에 폰 노이만 컴퓨터는 아주 빠른 순차 명령어..

[인공지능] 3장. 기계 학습과 인식2

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶3.5 필기 숫자 인식 sklearn이 제공하는 fit 함수로 모델링(학습)한다. predict 함수로 예측한다. 3.5.1 화소 값을 특징으로 사용 화소 각각을 특징으로 간주한다. - sklearn의 필기 숫자는 8*8 맵으로 표현되므로 64차원 특징 벡터이다. - 2차원 구조를 1차원 구조로 변환한다. from sklearn import datasets from sklearn import svm digit = datasets.load_digits() # svm의 분류기 모델 SC를 학습 s = svm.SVC(gamma=0...

[인공지능] 3장. 기계 학습과 인식1

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶3.1 기계학습 기초 기계학습에서 데이터의 중요성 - 에너지를 만드는 연료에 해당한다. - 데이터가 없으면 기계학습 적용이 불가능하다 가장 단순한 iris 데이터로 시작한다. 데이터 셋 읽기 - 사이킷런(scikit-learn) 라이브러리 설치한다. - pip install scikit-learn 명령어로 라이브러리 설치한다. 3.1.1 iris 데이터셋 읽기 from sklearn import datasets # iris 데이터셋 불러오기 d = datasets.load_iris() # 내용을 출력 (객체 d의 DESCR 변..

[야구] 2023시즌 KBO리그 개막

4월 1일 토요일, KBO 프로야구의 2023시즌이 개막했다. 생각보다 명경기를 펼친 두 팀이 있는가 하면, 손쉽게 끝난 경기도 있었다. 개막 첫날인 만큼 경기 결과를 리뷰해보고자 한다. ▶ NC vs 삼성 (8 : 0 NC 승) 시범경기에서 0.71의 방어율을 기록한 NC의 페디와 삼성의 효자 외인 투수 뷰캐넌이 맞붙은 경기였다. 당장 시범경기에서 좋은 모습을 보인 페디 선수지만, 뷰캐넌 선수도 노련하기에 어느 팀이 이길지 쉽게 예측할 수 없는 경기였다. 하지만 경기 결과는 NC의 손쉬운 승리였다. NC가 15안타, 1홈런을 치는 동안 삼성은 고작 5안타를 치는데 그쳤다. 포수로서 드물게 2번 타자로 나선 박세혁 선수가 그 역할을 충분히 해냈다. (박세혁 (포수) : 4타수 3안타 1볼넷 1타점 1득점..

[야구] 2023시즌 NC다이노스 프리뷰

최근 야구, 축구에 관해서도 포스팅을 이어나가고 있다. 나의 최대 관심사인 국내야구도 한번 써보려고 한다. 가장 좋아하는 팀이 NC다이노스이고, 2023시즌 프리뷰로 시작해보고자 한다. 4월 1일, 이틀 뒤면 벌써 개막이다. ▶ 2022시즌 : 67승 3무 74패 (0.475) 시즌을 시작하기 전 붙박이 주전 우익수 나성범과 중견수 알테어가 한 번에 떠나갔다. 양의지, 나성범, 알테어가 팀 홈런을 책임지고 있었는데, 양의지 선수 혼자만 남게 되었다 하지만 빠진 외야 자리에 박건우, 손아섭을 영입하면서 홈런팀이 아닌 따발총 부대의 탄생을 알렸다. 그 당시 현역 통산 타율 1~3위가 한 팀에 모이게 되었고, 1~3번 타순에 배치 후 양의지가 장타를 때리는 그림을 그릴 수 있었다. NC다이노스 팬의 허황된 꿈..

[백준/BOJ] silver3 - 2579번 계단 오르기 (Python)

▶2579 - 계단 오르기 ▶문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다...

[백준/BOJ] silver2 - 2644번 촌수계산 (Python)

▶2644 - 촌수계산 ▶문제 우리나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오. ▶입력 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를..

[해외축구 / 오피셜] 챔피언스리그 8강, 4강, 결승 대진표

한국시간 17일 오후 8시에 대진 추첨이 시작되었다. 챔피언스리그, 유로파리그, 유로파 컨퍼런스리그 이렇게 세 대회에 대진을 뽑았다. 먼저 뽑힌 앞쪽의 팀이 홈경기를 먼저 치르게 된다. 사실 유로파리그나 유로파 컨퍼런스리그에는 크게 관심이 없다. 그래서 챔피언스 리그만 다루고 있다. 8강 대진표도 챔피언스리그만 쓸 것 같지만, 8강 경기 결과는 유로파리그까지 다뤄보겠다. 그럼 8강 대진 추첨 결과를 알아보도록 하자. ▶ 챔피언스리그 8강 대진8강 1경기 : 레알 마드리드 vs 첼시현재 레알마드리드 감독은 안체로티 감독이다. 하지만 예전(2099~2011년)에 첼시 감독으로 부임했던 적이 있다. 뭐, 나름 안체로티 더비라고 봐도 될 것 같다. 감히, 축알못이 예상해 본다면 레알마드리드가 4강에 진출할 것 ..

[해외축구] UEFA 챔피언스리그 우승확률 (맨시티 33%, 뮌헨 23%)

지난 글에서 8강 진출팀과 8강 대진 추첨, 8강 일정에 대해서 써봤다. 2023.03.16 - [이모저모/스포츠] - [해외축구] UEFA 챔피언스리그 8강 진출팀 (+ 조추첨 및 일정) [해외축구] UEFA 챔피언스리그 8강 진출팀 (+ 조추첨 및 일정) 챔피언스리그 16강 2차전이 종료되었다. 지난 포스팅에서 8강 진출팀 예상을 해보았다. 맨시티, 바이에른 뮌헨, 레알 마드리드, 나폴리, 벤피카, AC밀란, 도르트문트, 인테르 도르트문트를 제외하 dhalsdl12.tistory.com 이번에는 4강 진출, 결승 진출, 우승 확률에 대해서 써보려고 한다. 사실 데이터 분석을 통해 도출된 확률이지만, 100% 맞다고 볼 수는 없다. 그래도 그 시점에서 잘하는 팀이 높게 나오는 건 사실이니 어느 정도 믿..

[해외축구] UEFA 챔피언스리그 8강 진출팀 (+ 조추첨 및 일정)

챔피언스리그 16강 2차전이 종료되었다. 지난 포스팅에서 8강 진출팀 예상을 해보았다. 맨시티, 바이에른 뮌헨, 레알 마드리드, 나폴리, 벤피카, AC밀란, 도르트문트, 인테르 도르트문트를 제외하고는 모두 맞추었다. 사실, 그 외에는 어려운 경기가 없었기 때문이다. 2023.02.23 - [이모저모/스포츠] - [해외축구] UEFA 챔피언스리그 16강 1차전 [해외축구] UEFA 챔피언스리그 16강 1차전 오늘(23일) 새벽 5시 경기를 끝으로 챔피언스리그 16강 1차전이 끝이 났다. 경기결과는 다음과 같다. ▶ EPL의 굴욕 - 1무 3패 EPL팀 4팀이 16강에 진출했다. 대진을 보면 다들 쉽지 않은 팀을 만났고, dhalsdl12.tistory.com ▶ 8강 진출팀 바이에른 뮌헨, 벤피카, 첼시,..

[야구] WBC 한국 대표팀, 22-2 대승 (중국전), 3연속 1라운드 탈락

▶ 중국전, 22-2 승 중국전에서는 사실 백업으로 분류되었던 선수들이 대거 선발로 나오게 되었다. 에드먼 선수가 빠지고 김혜성 선수가 들어왔다. 뿐만 아니라 포수에 이지영 선수, 1루에 박해민 선수, 유격수에 오지환 선수, 좌익수에 최지훈선수 그리고 사실상 백업으로 분류되었던 박건우 선수가 우익수로 나왔다. 호주, 일본보다 약한 중국이어서 그런지, 8강에 대한 부담감이 없어서 그런지. 백업으로 나온 선수들은 활약을 보여주었다. 박건우 선수는 만루홈런을 포함해 3안타를 치면서 굉장한 활약을 해주었다. (박건우 : 5타수 3안타 1홈런 5타점 2득점) 홈런을 치고도 밝지 못한 표정이 너무나 아쉬웠다. (탈락 확정이라서) 그 외에도 박해민 선수, 김혜성 선수, 이지영 선수, 최지훈 선수 모두 활약했다. (박..

[야구] WBC 한국 대표팀, 첫 승! (체코전) 8강 경우의 수는?

▶ 체코전, 7 - 3 승 호주, 일본과의 경기에서 내리 패하고, 체코전에서 드디어 첫승을 거두었다. 세 번째 경기만에 뜻깊은 승리를 거두었고, 8강을 향한 희망도 이어나갈 수 있었다. 일본, 호주전에서도 유일하게 호투를 펼쳤던 박세웅 선수가 선발투수로 나섰다. 이번 경기에서도 4와 2/3이닝 동안 탈삼진만 8개를 잡으면서 또다시 호투를 펼쳤다. 물론, 체코 선수들 중에는 투잡을 뛰는 선수들이 많지만 좋은 흐름인 건 분명했다. 나머지 투수들도 체코 타자를 거의 완벽하게 틀어막았다. 한 가지 흠은, 체코, 호주, 한국의 경우의 수를 생각한다면 최소 실점으로 막아야 하는데, 좌익수 김현수 선수가 무리한 다이빙 캐치를 시도해 공을 뒤로 빠뜨렸다. 그 결과 1, 2루 주자 모두 홈으로 들어와 2실점을 하게 되었..

[백준/BOJ] gold5 - 13549번 숨바꼭질 3 (Python)

▶13549 - 숨바꼭질 3 ▶문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 0초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. ▶입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. ▶출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. ▶풀이 지난번에 풀었던 숨바꼭질 2..

BOJ Code/Gold 2023.03.12

[야구] WBC 한국 대표팀, 내리 2연패 (호주, 일본)

축구 외에도 야구를 좋아하는 나에게, wbc라는 또 다른 즐길거리가 최근에 생겼다. 3월 8일에 개막(?)을 해서 3월 9일에 호주전을 시작으로 한국이 경기를 시작했다. 시작하기 전까지 안우진 선수의 선발 문제로 살짝 떠들썩했고, 최종 선발 되지는 않았다. 일본, 호주, 중국, 체코와 함께 B조에 편성된 한국은 솔직히 일본을 제외하면 높은 평가를 받아왔다. 그래서 무난히 다음 라운드에 진출할 것 같았다. 하지만, 까보고 나니 한국은 사실 별것 없었다. ▶ 호주전, 8 - 7 패 호주전은 솔직히 말해서 가볍게 이길 줄 알았다. KBO + MLB에서 선수를 끌어온 최정예 타선은 이정후, 양의지 선수 빼고는 다 부진했다. 거기다 투수진은 몇몇 투수 빼고는 사실 무너졌다. 제구도 잘 되지 않았던 것이 문제였다...

[백준/BOJ] gold4 - 12851번 숨바꼭질 2 (Python)

▶12851 - 숨바꼭질 2 ▶문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 그리고, 가장 빠른 시간으로 찾는 방법이 몇 가지 인지 구하는 프로그램을 작성하시오. ▶입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. ▶출력 첫째 줄에 수빈이가 동생을 찾..

BOJ Code/Gold 2023.03.07

[백준/BOJ] gold5 - 16234번 인구 이동 (Python)

▶16234 - 인구 이동 ▶문제 N × N크기의 땅이 있고, 땅은 1 × 1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c] 명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1 × 1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 하루 동안 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 이상, R명 이하라면, 두 나라가 공유하는 국경선을 오늘 하루 동안 연다. 위의 조건에 의해 열어야 하는 국경선이 모두 열렸다면, 인구 이동을 시작한다. 국경선이 열려있어 인접한 칸만을 이용해 이동..

BOJ Code/Gold 2023.03.06
728x90