🌿All posts 199

✏️ [백준 14502] 연구소

1. 문제 www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 2. 접근 방법 벽을 3개씩 치면서 탐색을 하는 것임다 살짝 다른 점은 안전 영역 계산을 위해서 임시로 temp라는 2차배열을 만들어서 벽 3개를 넣은 board를 복사하는 것입니다. 이 때 shallow copy가 되면 원본인 board에 영향을 끼치기 때문에 deep copy로 해주어야하는데, import 하기 귀찮아서 사실은 코테에서 라이브러리 사용해도 되는지 ? 잘 모르기 때문에 요소 하나씩 넣어줬습니다...

Algorithm/Python 2021.04.17

✏️ [백준 17136] 색종이 붙이기

1. 문제 www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 2. 접근 방법 백트래킹을 써야합니다. (그래도 python은 시간초과나서 pypy3로 풀었음 ㅜ) 1. board 탐색을 한다. 2. 숫자 1을 만날 경우 2-1. 1의 영역이 어느 정도 인지 확인한다. (붙일 수 있는 가장 큰 색종이의 크기 확인) 2-2. 가장 큰 사이즈의 색종이부터 붙여본다. 2-3. 현재 사용하려는 색종이의 사용 횟수를 확인하고 2-4. 만약 5회를 넘지 않았다면 색..

Algorithm/Python 2021.04.17

✏️ [백준 14500] 테트로미노

1. 문제 www.acmicpc.net/problem/14500 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 2. 접근 방법 매우 직관적으로 풀었습니다. 일단 N, M이 500을 넘지 않기 때문에 완탐을 해도 될 것이라는 생각을 했기 때문이죠 ^-^ 총 19가지의 경우의 수가 있지만 O(19NM)은 결국 O(NM)이기 때문임다. 3. 코드 python def isRoad(x, y): global N, M if x = M or y = N: return False r..

Algorithm/Python 2021.04.16

✏️ [백준 14499] 주사위 굴리기

1. 문제 www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지도 www.acmicpc.net 2. 접근 방법 주사위를 돌렸을 때 생각해내는게 어려웠습니다. 초기 상태는 바닥이 1이고 위쪽이 6인데, 계속 바닥이 1이라고 했을 때 그 값에 들어갈 것은 위로 주사위를 굴릴 경우 2에 위치한 값, 아래로 주사위를 굴릴 경우 5에 위치한 값, 우측으로 주사위를 굴릴 경우 3에 위치한 값, 좌측으로 주사위를 굴릴 경우 4에 위치한 값 ..

Algorithm/Python 2021.04.16

✏️ [백준 3190] 뱀

1. 문제 www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 2. 접근 방법 일단은 deque를 사용해서 구현했습니다. 사용한 함수는 move, isEnd, rotate가 있습니다. move: 뱀을 이동시키는 함수 isEnd: 뱀이 board 영역을 벗어났을 때 혹은 자기 자신의 몸에 머리를 댔을 때 rotate: 회전할 때 1. 초기 위치인 (1, 1) -> board 기준 (0, 0)을 먼저 deque에 넣고 move함수를 실행 2. 일단 현재 회전해야하는지 확인..

카테고리 없음 2021.04.16

✏️ [퍼셉트론] 퍼셉트론의 한계

퍼셉트론의 한계 1. XOR 게이트란? 배타적 논리합이라는 논리회로 2. XOR 시각화 ![img](퍼셉트론의 한계.assets/fig 2-8.png) 퍼셉트론은 직선 하나로 나눈 영역만 표현할 수 있음. 예시 ![image-20210415094238005](퍼셉트론의 한계.assets/image-20210415094238005.png) 시각화 ![img](퍼셉트론의 한계.assets/fig 2-6.png) 따라서 XOR 같은 비선형 영역은 표현할 수 없음. -> 해결방법 : 다층 퍼셉트론 3. 다층 퍼셉트론 multi-layer perceptron 퍼셉트론을 층을 쌓아 만든 것 3-1. 기존 게이트 조합하기 AND, NAND, OR 게이트를 조합하기 AND, NAND, OR 게이트 ![img](퍼셉트론..

Study/ML, AL 2021.04.15

✏️ [퍼셉트론] 퍼셉트론이란 무엇일까

퍼셉트론 프랑크 로젠블라트가 1957년에 고안한 알고리즘 ^^ 퍼셉트론은 신경망(딥러닝)의 기원이 되는 알고리즘임. 1. 퍼셉트론이란? 다수의 신호를 입력으로 받아 하나의 신호를 출력함 x1, x2는 입력신호, y는 출력신호, w1, w2는 가중치(weight)를 의미함 하나의 원을 뉴런 혹은 노드라고 부름. 입력신호(x1, x2)가 뉴런에 보내질 때는 각각 고유한 가중치(w1, w2)가 곱해짐 => (w1x1, w2x2) 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력함 == 뉴런이 활성화한다 한계 == 임계값 == theta로 표현 퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부여 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용 가중치가 클수록 해당 신호가 그..

Study/ML, AL 2021.04.15

✏️ [백준 12100] 2048(Easy)

1. 문제 www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 2. 접근 방법 1. 숫자 블록을 움직이는 단계: 상/하/좌/우 1-1. 방향에 따라 해당 열or 행을 큐에 넣는다. 1-2. 빈 공간은 큐에 담지 않는다. 1-3. 블록을 넣었다면 블록에 있던 자리는 빈 공간으로 만든다. 2. 블록을 합치는 단계 2-1. 큐에서 블록을 꺼내고 이를 순서대로 보드와 비교하면서 진행 2-2. 만약 현재 좌표보드가 빈공간이라면, 큐에 꺼낸 숫..

Algorithm/Python 2021.04.15

✏️ [백준 13460] 구슬 탈출2

1. 문제 www.acmicpc.net/problem/13460 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 2. 접근 방법 구슬 탈출 1과 동일하지만 다른게 있다면 count를 출력해야한다는 것 ! 따라서 접근 방법은 maeng2world.tistory.com/62요기를 참고해주십사 그리고 !!!!! 출력 부분에 10번이 넘어가면 -1을 출력하라고 나와있다ㅠ 꼭 정확히 읽을 것 3. 코드 python from collections import deque def move(_x, ..

Algorithm/Python 2021.04.15

✏️ [백준 1580] 위치 바꾸기

1. 문제 www.acmicpc.net/problem/1580 1580번: 위치 바꾸기 첫째 줄에 게임 판의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 20보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 게임 판의 상태가 주어진다. 빈 공간은 ., 벽은 X, A의 위치는 A, B의 위 www.acmicpc.net 2. 접근 방법 구슬 탈출과 유사한 BFS 문제입니다 1. A와 B의 위치를 담는다 2. deque에다가 초기 위치를 담는다. + visit 체크 3. 만약 A가 B의 위치, B가 A의 위치에 있다면 ! => count 출력하고 끗 4. 3이 아니라면 다음에 갈 위치를 하나씩 확인하기 4-1. 벽인지 아닌지 4-2. 이미 들린 곳인지 4-3. A와 B가 크로스 되는지 (현재 A..

Algorithm/Python 2021.04.14