분류 전체보기
15684번-사다리조작
문제 https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 접근방법 1) 접근 사고 https://jaimemin.tistory.com/1078 백준 15684번 사다리 조작 문제 링크입니다: https://www.acmicpc.net/problem/15684 백준 15683번 감시(http://jaimemin.tistory.com/1070)와 유형이 비슷한 브루트 포스(Brute Force) 문제였습니다. 알고리즘은 아래와 같습니다. 1. 사다...
15683번-감시
문제 https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 접근방법 1) 접근 사고 1.CCTV의 갯수만큼 DFS를 진행해야 합니다. 각 재귀함수마다 회전할 수 있는 방향의 경우의 수를 계산해야 하기 때문입니다. 2.DFS를 진행한 뒤에는 방향을 회전시킵니다. 3.1 ~ 2를 반복한 뒤에 탐색이 CCTV의 모든 경우를 탐색했다면 안전 구역의 값을 최소값으로 최신화 합니다. 2) 시간 복잡도 완전 탐색이므로 O(N^2)을 가집니다. 3) 배..
[#3-13]동적계획법-문제: 두니발 박사의 탈옥(문제 ID: NUMB3RS)
문제출처 algospot.com :: POLY 폴리오미노 문제 정보 문제 정사각형들의 변들을 서로 완전하게 붙여 만든 도형들을 폴리오미노(Polyomino)라고 부릅니다. n개의 정사각형으로 구성된 폴리오미노들을 만들려고하는데, 이 중 세로 algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-12]동적계획법-문제: 폴리오미노(문제 ID: POLY)
문제출처 algospot.com :: POLY 폴리오미노 문제 정보 문제 정사각형들의 변들을 서로 완전하게 붙여 만든 도형들을 폴리오미노(Polyomino)라고 부릅니다. n개의 정사각형으로 구성된 폴리오미노들을 만들려고하는데, 이 중 세로 algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-11]동적계획법-문제: 비대칭 타일링(문제 ID: ASYMTILING)
벽돌의 사이즈, 가로로 보기.... 문제출처 https://algospot.com/judge/problem/read/ASYMTILING algospot.com :: ASYMTILING 비대칭 타일링 문제 정보 문제 그림과 같이 2 * n 크기의 직사각형을 2 * 1 크기의 타일로 채우려고 합니다. 타일들은 서로 겹쳐서는 안 되고, 90도로 회전해서 쓸 수 있습니다. 단 이 타일링 방법은 algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-10]동적계획법-예제: 장마가 찾아왔다(문제 ID: SNAIL)
문제출처 algospot.com :: SNAIL 달팽이 문제 정보 문제 깊이가 n 미터인 우물의 맨 밑바닥에 달팽이가 있습니다. 이 달팽이는 우물의 맨 위까지 기어올라가고 싶어하는데, 달팽이의 움직임은 그 날의 날씨에 좌우됩니다. 만약 � algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-9]동적계획법-예제: 삼각형 위의 최대 경로 개수 세기(문제 ID: TRIPATHCNT)
문제출처 algospot.com :: TRIPATHCNT 삼각형 위의 최대 경로 수 세기 문제 정보 문제 9 5 7 1 3 2 3 5 5 6 위 형태와 같이 삼각형 모양으로 배치된 자연수들이 있습니다. 맨 위의 숫자에서 시작해, 한 번에 한 칸씩 아래로 내려가 맨 아래 � algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-8]동적계획법-예제: 타일링 방법의 수 세기(문제 ID: TILING2)
문제출처 algospot.com :: TILING2 타일링 문제 정보 문제 2xn 크기의 사각형을 2x1 크기의 사각형으로 빈틈없이 채우는 경우의 수를 구하는 프로그램을 작성하세요. 예를 들어 n=5라고 하면 다음 그림과 같이 여덟 가지의 방법이 있 algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-7]동적계획법-문제: Quantization(문제 ID: QUANTIZE)
진짜 말도 안 되는 문제였다. 장담하는데 이거 일주일 동안 풀라고 시간을 줘도 못 풀었을 거 같다. 문제에 대해서 어떻게 하면 최적의 방식을 찾을지 규칙은 찾았으나 이것을 수식을 세워서 점화법을 세우는 단계까지는 못갔다. 꼭 다시 풀어봐야 하는 문제. 전체적인 이해는 했으나 코드가 흘러가는 재귀적 구조가 완벽히 들어오지 않는다. 하루 동안 고민하다가 스스로 화가 나서 포기하고 다음날 책을 다시 보니까 이해가 갔다. 역시 멘탈이.... 안 풀리거나 막히면 그냥 바람을 씌거나 산책을 하든가 잠시 쉬는 게 좋은 방법이라는 걸 깨달았다. 그냥 붙잡고 쳐다본다고 이해가 가지는 않는다. 문제출처 algospot.com :: QUANTIZE Quantization 문제 정보 문제 Quantization (양자화) 과..
[#3-6]동적계획법-문제: 원주율 외우기(문제 ID: PI)
문제출처 algospot.com :: PI 원주율 외우기 문제 정보 문제 (주의: 이 문제는 TopCoder 의 번역 문제입니다.) 가끔 TV 에 보면 원주율을 몇만 자리까지 줄줄 외우는 신동들이 등장하곤 합니다. 이들이 이 수를 외우기 위해 사용�� algospot.com 문제 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-5]동적계획법-문제: 합친 LIS(문제 ID: JLIS)
문제출처 algospot.com :: JLIS 합친 LIS 문제 정보 문제 어떤 수열에서 0개 이상의 숫자를 지운 결과를 원 수열의 부분 수열이라고 부릅니다. 예를 들어 '4 7 6'은 '4 3 7 6 9'의 부분 수열입니다. 중복된 숫자가 없고 오름 차순으로 algospot.com 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-4]동적계획법-예제: 최대 증가 부분 수열(문제 ID: LIS)
문체출처 algospot.com :: LIS Longest Increasing Sequence 문제 정보 문제 어떤 정수 수열에서 0개 이상의 숫자를 지우면 이 수열의 부분 수열 (subsequence) 를 얻을 수 있다. 예를 들어 10 7 4 9 의 부분 수열에는 7 4 9, 10 4, 10 9 등이 있다. algospot.com 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-3]동적계획법-예제: 삼각형 위의 최대 경로(문제 ID: TRIANGLEPATH)
문체출처 algospot.com :: TRIANGLEPATH 삼각형 위의 최대 경로 문제 정보 문제 6 1 2 3 7 4 9 4 1 7 2 7 5 9 4 위 형태와 같이 삼각형 모양으로 배치된 자연수들이 있습니다. 맨 위의 숫자에서 시작해, 한 번에 한 칸씩 아래로 내려가 맨 아래 �� algospot.com 코드 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com
[#3-2]동적계획법-문제:와일드카드(문제 ID: WILDCARD)
문제출처 algospot.com :: WILDCARD Wildcard 문제 정보 문제 와일드카드는 다양한 운영체제에서 파일 이름의 일부만으로 파일 이름을 지정하는 방법이다. 와일드카드 문자열은 일반적인 파일명과 같지만, * 나 ? 와 같은 특수 문자를 algospot.com 코드 구현1-완전탐색기법 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProblem github.com 구현2-동적계획기법 NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코드입니다. - NamHyeop/AlgorithmProble..
[#3-1]동적계획법-예제:외발 뛰기(문제 ID: JUMPGAME)
문제: https://algospot.com/judge/problem/read/JUMPGAME# algospot.com :: JUMPGAME 외발 뛰기 문제 정보 문제 땅따먹기를 하다 질린 재하와 영훈이는 땅따먹기의 변종인 새로운 게임을 하기로 했습니다. 이 게임은 그림과 같이 n*n 크기의 격자에 각 1부터 9 사이의 정수를 쓴 상�� algospot.com 코드 https://github.com/NamHyeop/AlgorithmProblem/blob/master/Algospot/%EB%8F%99%EC%A0%81%EA%B3%84%ED%9A%8D%EB%B2%95/JUMPGAME NamHyeop/AlgorithmProblem 백준알고리즘,프로그래머스,알고스팟 등의 문제풀이 사이트에관한 문제들의 문제풀이 코..
[#2-5]분할정복-문제: 팬미팅(문제 ID: FANMEETING)
코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126..
[#2-4]분할정복-문제: 울타리 잘라내기(문제 ID: FENCE)
문제코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#includeiostream>#includevector>#includealgorithm>using namespace std;int solve(vectorint> &h, int left, int right){ //기저사례: 판자를 다 분해한 경우 if (left == right) return h[left]; //[left,mid],[mid +1, right]의 두 구간으로 문제를 분할한다. int mid = (left + right) / 2; //분할한 문제를 다시 ..
[#2-3]분할정복-문제: 쿼드 트리 뒤집기(문제 ID: QUADTREE)
문제 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #include #include using namespace std; string reverse(string::iterator &it) { char head = *it; ++it; if (head == 'b' || head == 'w') //전체가 블랙이라면 b, 전체가 화이트라면 w, 그렇기에 최소로 쪼개지는 단위이며 아닐시 다음 노드에 x로 출력하고 다시 분해 return string(1, head); string upperLeft = reverse(it); // 위에서 왼쪽 자리 -> 밑에서 ..
[#2-2]분할정복-예제: 카라츠바의 빠른 곱셈 알고리즘
러시아의 Karatsuba가 만들어서 Karatsuba(이름이 너무 어려워;;) 알고리즘이라고 한다. Karatsuba의 빠른 곱셈 알고리즘이 대단한 이유는 간단히 설명하면 보통 곱하기를 코딩으로 작성할 때 이중 포문으로 곱해서 자릿수 올림을 사용하여 계산한다고 생각한다. Karatsuba는 이것보다 더 빠른 알고리즘(4번 곱할걸 3번으로!)을 작성하였다. Karatsuba의 빠른 곱셈 알고리즘은 일단 곱할려는 두 수 a, b를 둘 다 반으로 쪼갠다. 여기서 Karatsuba는 이걸 곱해서 4개의 조각으로 만들 생각을 하였다. 그렇게 나온 식이 밑에 사진이다. 그런데 이 상태에서 분할정복을 실행할 경우 시간 복잡도가 O(n^2)이 나오기 때문에 분할 정복을 사용하는 의미가 없어 Karatsuba는 고민을..
[#2-1]분할 정복-예제: 수열의 빠른 합과 행렬의 빠른 제곱
분할 정복의 첫 번째 예제이다. 책 앞에 분할 정복에 대한 설명은 자세히 설명되어 있으므로 생략하겠다. 첫 번째 예제인 수열의 빠른 합과 행렬의 빠른 제곱을 구하는 문제인데 우리는 이 문제를 분할 정복으로 풀기 위해서 1+2+.... N까지의 합을 반으로 쪼갤 것이다. 그러면 이렇게 보기 좋은 식이 나온다. 그런데 우리는 분할정복을 해야 하니까 기저 사례로 가서 1로 만나면 분할이 완료가 되었다고 코딩을 해야 하는데 저렇게 되어버리면 ((n/2)+1).....+ N) 부분이 a부터 b까지의 합 형식으로 표현이 되어 있어서 분할 정복으로 사용하기 불편하므로 식을 바꿔주어야 한다. 위에 나온 식을 첫 번째 사진 fastSum(x) 형식으로 바꾸어 주면? 이렇게 식이 정리되고 밑에 사진처럼 정의할 수 있다. ..
[#1]완전탐색-n개의 원소 중 m개를 고르는 모든 조합을 찾는 알고리즘
일주일 만에 겨우 한 단원을 끝냈다. 말도 안 되는 공부 효율성이다. 일단 이 책을 읽는 순간 나의 두뇌에 대한 남 탓과 자괴감이 동시에 생기며 분노가 차오른다. 하지만 변태적 성향인지 이 책을 읽는 동안 재미가 없었던 순간이 없었고 끝까지 읽을 수 있을 거라는 확신이 든다. (시간에 대한 효율성은...) 이 단원에서는 완전탐색을 다루며 전체적으로 재귀 함수의 사용법과 시력을 향상한다. 사고 향상에 엄청난 도움을 주었다. 첫 번째 문제 n개의 원소 중 m개를 고르는 모든 조합을 찾는 알고리즘이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 #inclu..
4.트랜스포트 프로토콜(세그먼트, 포트번호, well-known port, TCP 연결 설정, TCP 데이터 송수신, TCP 흐름제어, 윈도우 흐름제어, 재전송, Jacobson/Karels 알고리즘, 데이터 경계 표시, TCP 옵션, UDP, UDP헤..
네 번째 쳅터에서는 인터넷의 트랜스포트 계층 프로토콜인 TCP와 UDP에 대해 설명한다. 트랜스포트 계층 IP 계층의 도움을 받아 종점간(end-to-end) 호스트에서 실행되는 프로세스들이 안정적으로 메시지를 송수신 하도록 도와주는 역할을 한다. 인터넷의 트랜스포트 계층 프로토콜에는 TCP와 UDP가 있다. TCP와 UDP는 각각 연결형과 비연결형 서비스를 제공한다. 엡 브라우저는 기본적으로 TCP를 사용하고 비디오 스트리밍에서는 UDP를 사용한다. TCP는 신뢰성 있는 통신 환경을 제공하고 UDP는 TCP보다 간단한 메시지 전달 기능만 제공하는데 이들의 차이는 뒤에서 자세히 설명한다. 앞에서 IP 프로토콜을 설명했는데, IP 프로토콜은 OSI 계층 3의 기능을 수행하며 네트워크 주소를 사용하여 패킷을..
3.라우팅(포워딩, 링크상태 라우팅, Autonomous System, OSPF, 도메인간 라우팅, 도메인내 라우팅, BGP, CIDR, 방송형라우팅, 멀티캐스트 , MBONE, Mobile 네트워크의 라우팅, AD HOC 네트워크의 라우팅, 혼잡제..
3.라우팅 인터넷의 확장성 등장 배경은 인터넷 속도의 확장성이다. TCP/IP 프로토콜은 1960년대에 만들어진 오래된 기술이다. 당시의 네트워크 속도에 비해 현재 인터넷은 수백 Gbps으로 동작하며 접속된 컴퓨터 수도 수억대에 이른다. 그러나 지금까지도 TCP/IP가 잘 동작하고 있으며 확장성이 좋은 핵심 이유는 두 가지를 들 수 있는데, 첫 번째는 IP 프로토콜이 단순하다는 것과 라우팅 프로토콜이 확장성이 매우 좋다는 것이다. 통신 전송 속도가 빨라져서 효과적으로 처리 속도가 길어졌지만 인터넷은 잘 동작하고 있다. 또한 인터넷에 연결된 라우터의 수가 급격히 늘어나도 안정적으로 인터넷이 동작하고 있다. 더불어 통신 링크가 끊어지거나 라우터가 고장이 나더라도 전체 인터넷은 중단 없이 동작할 수 있게 되었..
2.IP 프로토콜(인터넷계층, BestEffort, IP패킷구조, IP 주소, IPv6, 특수주소, 메시지 분할 전송, path MTU, DHCP, 고정IP, NAT, 포트번호, ARP/RARP , ICMP, IGMP, 서브네팅,)
인터넷 계층 인터넷 계층은 인터넷 프로토콜(IP)을 수행하는 계층으로 하위(sub) 네트워크에 무관하게 IP 패킷을 호스트(컴퓨터) 사이에 전달하는 기능을 수행한다. OSI 7 계층 관점에서 보면 인터넷 계층은 주소(addresing)와 교환(Switching) 그리고 라우팅을 담당한다. IP는 비연결형 서비스로 동작한다. 따라서 IP에서는 각 패킷이 개별적으로 목적지를 찾아갈 수 있어야 하므로 IP 패킷은 송신자와 수신자의 주소로서 각각 32비트의 IP 주소를 항상 포함하고 있어야 한다. IP프로토콜은 인터넷 계층이라고도 한다. 3계층에 포함된다. 주의해야 할 개념은 교환(Switching)과 라우팅의 개념이 다르다는것이다. 교환(Switching)은 패킷이 들어오면 어디로 나갈지 찾아주는것이고 라우팅..
1.인터넷(TCP/IP, UDP, 프로토콜 모음집)
인터넷 인터넷 동작의 기본이 되는 TCP/IP 프로토콜의 주요 기능을 설명한다. TCP/IP 인터넷은 전 세계 컴퓨터들을 연결하고 있으며 통신 프로토콜로 TCP/IP를 사용한다. TCP/IP와 관련된 표준은 RFC(Request For Comments)이다.(권고 되는 표준 사항이며 강제성은 없다.) 인터넷에 관한 약속들이 담겨있다고 이해하면 된다. TCP/IP 프로토콜 개요 미국 국방성에서 1968년에 컴퓨터들간의 통신이 가능하도록 컴퓨터 통신 프로토콜을 만들었으며 이 때 TCP/IP가 만들어졌다. TCP/IP의 기본 프로토콜은 TCP(Transmission Control Protocol)와 IP(Internet Protocol)이며 이들은 각각 OSI 계층 4와 3계층 3의 기능을 수행한다. 인터넷은..
[주식공부]-3.YoY, QOQ, 분기 실적 진입 방법
※YoY = Year on Year =전년 동기 대비 증감율 ●작년과 같은 기간의 성적을 비교한다는 의미 ※QoQ = Quarter on Quarter =직전 분기 대비 증감율 ●이번에 내가 2분기 성적이 나오는데 그러면 1분기 성적과 비교했을때 직전 분기 보다 얼마나 더 올랐을까? 라는 의미 1.주식투자에 있어서 분기별 실적발표는 한 해에 있어서 진입하는데 중요한 시기 2.직전분기 실적상승을 자세히 비교해보자 3.매출액이 증가했다면 2~3가지 종목을 정하고 집중분석을 하자 4.이런식으로 자신만의 포트폴리오를 만들자
[주식공부]-2.좋은 주식이란?
※좋은주식 = 평가보다 가격이 싼 주식 1. 멀티플을 높게 주는 기업들은 IT처럼 투자가 별로 안 들어가도 높은 이윤을 창출하는 기업이 좋은 예시이다.(반대의 사례로 건설, 소재 개발 등은 공장 등을 지어야 하므로 초기 투자비가 많이 든다. 이것은 건설, 소재 개발 주식이 안 좋다는 의미가 절대 아니다.) 2.장비주나 소재주는 영업이익으로 계산, ROE는 어차피 종목에 계산되어진 값이 나온다. 그러면 우리는 성장성이 높다 판단한 주식에 멀티플 수치를 곱해주어야 한다. (ex: 2020년도 1분기 실적이 잘 나왔어 그런데 다음 해도 잘 나올 거 같아! 그러면 그 종목에 멀티플을 계산해주는거임. 1년 실적이 100억이 나왔다. "나는 이 기업이 지속적으로 성장할 거 같에 그래서 멀티플을 10을 줄래 그러면 ..
[주식공부]-1.기본 개념
영상으로 학습한 뒤에 글로 기록을 남겨두면 나중에 내가 기억에 안나는 개념을 찾는 시간이 매우 절약된다. 그래서 오늘부터 시작한 주식공부를 기록할 것이다. 개요 1. 내가 원하는 주식을 사야 할 때에는 항상 벨루에이션을 진행해야 한다. 2. 벨루에이션은 주식이 비싼가 안 비싼가를 구분하는 과정 3. 주가지수는 경제 성장률 + 물가 상승률로 이루어진다. 라면의 가격이 과거에는 100원 지금은 1000원. 라면회사가 100원일 때 5프로의 수익을 챙긴다면 시가총액은 50원(5*10, 시가총액 계산할 때에는 10을 곱해주는 듯?) 여기서 per라는 단위를 곱해서 주가지수가 형성이 된다. (ex:) per =10일 경우 주가지수: 50*10 = 500) 여기서 라면회사는 다른 제품을 개발할 것이고 거기에 대한 ..
14891번-톱니바퀴
문제 https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 접근방법 1) 접근 사고 1.입력값을 받습니다. 2.톱니바퀴와 방향을 입력받은 뒤 3.해당 톱니바퀴와 인접해 있는 톱니바퀴의 이동 방향을 계산한 뒤(인접해 있는 톱니바퀴가 움직일 경우 인접해 있는 톱니바퀴의 인접해 있는 톱니바퀴도) -> BFS를 활용하여 탐색하기 4.이동 방향이 저장된 배열을 활용해 톱니바퀴의 저장정보를 변경해줍니다. 2) 시간 복잡도 인접해 있는 톱니바퀴의 탐색들이 가..
14890번-경사로
문제 https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 접근방법 1) 접근 사고 정말 구현문제 그 자체였습니다. 특별한 알고리즘 없이 구현력만 보는 문제인데 문제 설명이 저는 한 번에 이해가가지 않아서 어려웠습니다. 자세한 동작은 주석 첨부 하였습니다. 2) 시간 복잡도 O(n^2) 3) 배운 점 breack과 continue 사용 연습을 엄청 한 문제였습니다. 4) PS 문제 이해가 너무 어려웠다. 정답 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14..