전체 글 20

백준 1748 : 수 이어쓰기 1 (C++)

문제 1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다. 1234567891011121314151617181920212223... 이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. 출력 첫째 줄에 새로운 수의 자릿수를 출력한다. 예제 입력 1 120 예제 출력 1 252 푸는사람마다 다르겠는데 일단 문제를 이해하는데 어렵지 않아서 적당한 시간에 풀었다. 노트에 문제를 적어 푸는데 반복적인 패턴을 찾아보면서 풀었다.. #include using namespace std; int main(){ int N; cin>>N; int result=0,zari=1; int ..

백준 1068 : 트리 (C++)

문제 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. 입력 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는..

아스트라제네카 백신접종후기 - 2

금요일날 아스트라제네카 백신을 맞고 해열제를 주셔서 하나 먹었는데 조금 어지럽기만 하고 몇시간 뒤에 괜찮아 져서 남은 해열제 안먹어도 되겠다 싶었습니다 괜찮나 싶었는데 집가는 길에 버스를 타는데 계속 어지럽다가 다시 집가니까 또 괜찮아지구 하다가 갑자기 감기몸살 걸린거처럼 몸에 근육통(?)같은 경미한 부작용이 있더라구요... 펜트하우스 방송시작전에 몸이 떨리고 그래서 담요랑 이불 덮고 봤습니다ㅜ.... 밤에 잘때도 따뜻하게 하고 잤는데 땀흘리고 그래서 잠깐잠깐 깻던 기억이 나네여 접종 다음날인 토요일은 금요일 밤보다는 괜찮아 졌지만 완전히 증상이 사라진건 아니였습니다. 밖에 산책좀 하고 시간이 지나다 보니 일요일엔 증상이 거의 사라졌습니다..(아침에 머리 조큼 아팠음) 다 낫고 보니까 뉴스에 백신 접종후..

일상 2021.03.08

Linear Algebra(18.06) - 1. Geometry of Linear Equation

1강은 연립방정식으로 시작한다. 연립방정식은 n개의 식과 n개의 미지수가 주어지면 해를 구할 수 있다. 해는 유일할 수도있고 그렇지 않을 수도 있음. 연립방정식을 3가지 관점에서 바라본다. 1. Row Picture 방정식을 함수로 나타내고 두 함수가 점이 (미지수가 2개인 연립방정식은 점) 해 이다. 2. Column Picture (길교수피셜 중요) 벡터들의 합으로 해를 만족하는 벡터를 구할 수 있음. 3. Matrix Picture 왼쪽 방정식을 오른쪽처럼 AX=b로 쓸수 있는데 A를 coefficient matrix라고 한다.(계수를 나타내는 행렬 이라는 뜻) 강의가 진행되면 A가 특수한 상황이 아닌경우 역행렬 이라는 것을 구한 다음 좌변 우변에 곱해 x를 구할수 있다. 위의 예시를 통해 살펴본다..

Linear Algebra 2021.03.05

아스트라제네카 백신 접종 후기

요양원에서 사회복무요원으로 근무하고 있기 때문에 요양원, 요양병원이 백신 접종 1순위가 됨에 따라 저도 백신접종을 맞게 되었습니다... 화이자는 의료인들이 맞기 때문에 나머지는 아스트라제네카 백신 맞는다해서 기다리고 있었읍니다... 원장님이 효과는 화이자보다 떨어질 수 있지만 부작용은 거의 없다고 하셔서 약간 안심하고 있었는데 얼마전에 뉴스에 AZ백신 접종 사망자 뉴스가 나오면서 약간 걱정이 됐지만 오늘 맞고나니깐 맞고 한 1시간? 정도 어질어질하다가 그 후에는 괜찮아 졌습니다. 주사 맞을때는 의사분이 잘 놔주셔서 그런지 별로 아프지는 않았고 근육통이 살짝 있습니다. 맞고난 후에 접종확인증(?) 같은 걸 주는줄 알았는데 몇시간 뒤에 문자로 접종했다고 날라오더라구요 다음달 말에 2차접종을 하면 효과가 더 ..

일상 2021.03.05

백준 2178 : 미로 탐색 (C++)

문제 N×M크기의 배열로 표현되는 미로가 있다. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 입력 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력..

백준 1260 : DFS와 BFS (C++)

문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다. ..

백준 1978 : 소수찾기 (C++) (소수판별 알고리즘)

문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 예제 입력 1 4 1 3 5 7 예제 출력 1 3 접근 - 소수를 찾는 알고리즘 그냥 짜면 된다.. 소수를 찾는 알고리즘에는 크게 2가지가 있다. 하나는 O(n)의 복잡도를 가지고 다른 하나는 O(√n)의 복잡도를 가진다. 1. O(n)의 복잡도를 가지는 알고리즘 void isprimenum(int num){ if (num == 1) return; if (num == 2){ prime++; return; } for(int i=2;i

백준 1003 : 피보나치 함수 (C++)

문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 ..

Linear Algebra 책 리뷰, 강의(MIT 18.06)

컴퓨터 전공 2학년 1학기에 선형대수를 배웠는데 기억에 나는 것은 나고 그렇지 않은것은 기억이 잘 나지 않았던것 같아요...(성적은 A0받음) 진로지도 상담때 수학과 다른 CS전공들과의 연관성을 모르겠다고 말씀드리니까 나중에 많이 쓰인다고 일단 열심히 수학 공부하라 하셔서 가장 중요하다고 여겨지는 선형대수를 다시 공부해야겠다 생각이 들더라구요.. 책은 MIT의 Gilbert Strang교수님의 Introduction to Linear Algebra, 강의는 이 책의 저자가 직강하시는 MIT 18.06(강의명)를 완강 목표로 하고 있습니다. MIT 18.06 - YouTube Playlist www.youtube.com/playlist?list=PLE7DDD91010BC51F8 MIT 18.06 Linea..

Linear Algebra 2021.03.01