본문 바로가기
[C++] 기초 개념 익히기 C++ 이란? - C언어에서 객체 지향 개념을 추가한 언어 - C보다 확장된 언어로서 복잡한 프로그래밍 구현 가능 #합산 결과 출력 (C, C++ 비교) (1) C #include int main(void) { int n1, n2; scanf_s("%d %d", &n1, &n2); printf("두 값을 더한 결과=%d\n", n1 + n2); return 0; } (2) C++ #include int main(void) { int n1, n2; std::cin >> n1 >> n2; std::cout > irum; std::cout 2020. 10. 24.
크레인 인형뽑기 게임 : 코딩테스트 연습 / Python / Programmers / Level1 크레인 인형뽑기 게임 문제는 제목 링크에서 확인이 가능하며, 입출력의 예시는 아래와 같다. #Input board = [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] moves = [1,5,3,5,1,2,1,4] #Output (사라진 인형 개수) 4 #7개 뽑았으니까 5개 찰 때 2개 다시 5개 찰 때 2개사 사라져서 4개가 사라짐 Solution: def solution(boards, moves): #1번일경우 배열에서 0번에 접근하므로 -1씩 한다 moves = list(map(lambda mv : mv -1, moves)) stack = [0] #0을 안 넣을 경우 IndexError cnt = 0 for i in moves: #mov.. 2020. 10. 21.
LeetCode 1351. Count Negative Numbers in a Sorted Matrix - Python LeetCode 1351. Count Negative Numbers in a Sorted Matrix Given a m * n matrix grid which is sorted in non-increasing order both row-wise and column-wise. Return the number of negative numbers in grid. m == grid.length n == grid[i].length 1 2020. 10. 21.
LeetCode 771. Jewels and Stones - Python LeetCode 771. Jewels and Stones You're given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels. The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so "a" is considered a di.. 2020. 10. 19.
[ADsP D-36] 문제 풀이 (18회) 1-1. 빅데이터의 출현 배경 설명으로 부적절한 것은? ① 산업계에서 일어나 변화를 보면 빅데이터의 현상은 양질 전환 법칙으로 설명할 수 있다. ② 학계에서도 빅데이터를 다루는 현상들이 늘어나고 있다. 대표적인 사례는 인간 게놈 프로젝트가 있다. ③ 디지털화, 저장 기술, 인터넷 보급, 모바일 혁명, 클라우드 컴퓨팅 등 관련 기술 발전과 관련이 있다. ④ 급격한 데이터 구조의 정형화 증가가 원인이 되었다. 더보기 정답: ④ [1-2-1. 빅데이터의 이해 - #빅데이터의 출현배경] 데이터 구조의 정형화는 빅데이터 출현 배경에 관한 설명으로 부적절하다. 사진, 영상, 음석 등과 같이 특정한 처리 프로세스를 거쳐 분석데이터로 변경 후 분석해야 하는 비정형 데이터의 등장으로 빅데이터가 출현했다. 1-2. 통찰력.. 2020. 10. 18.
[1차] 다트 게임 : 코딩테스트 연습 / Python / Programmers / Level1 [1차] 다트 게임 문제는 위의 링크에서 확인이 가능하며, 입출력의 예시는 아래와 같다. Solution 1: #new 배열 정의 및 10을 @으로 대체한 방법 def dart(dartResult): answer = 0 if "10" in dartResult: dartResult = dartResult.replace("10","@") new = [] for i in dartResult: if i == "S": i = new[-1]**(1) new.pop() if i == "D": i = new[-1]**(2) new.pop() if i == "T": i = new[-1]**(3) new.pop() if i == "*": i = new[-1]*2 if len(new)>1: new[-2] = new[-2]*.. 2020. 10. 16.
[1차] 비밀지도 : 코딩테스트 연습 / Python / Programmers / Level1 [1차] 비밀지도 문제는 위의 링크에서 확인이 가능하며, 입출력의 예시는 아래와 같다. Example1: #Input : n(변의 크기), arr1(지도1), arr2(지도2) n = 5 arr1 = [9, 20, 28, 18, 11] arr2 = [30, 1, 21, 17, 28] #Output ["#####","# # #", "### #", "# ##", "#####"] Example2: #Input n = 6 arr1 = [46, 33, 33 ,22, 31, 50] arr2 = [27 ,56, 19, 14, 14, 10] #Output ["######", "### #", "## ##", " #### ", " #####", "### # "] Solution def solution(n, arr1, ar.. 2020. 10. 9.
[자료구조] 합병정렬(Merge Sort) - C언어 #합병정렬 - Merge sort는 분할정복법을 사용하여 정렬하는 알고리즘이다. - 분할 단계: 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 - 정복 단계: 각각의 작은 문제들을 순환적으로 해결 - 합병 단계: 작은 문제들의 해를 합하여(merge) 원해 문제에 대한 해를 구함 #Pseudo code function mergeSort(list, left, right) middle = (left+right) / 2 #l과 r의 중간 지점 계산 mergeSort(list, left, mid) #전반부 정렬 mergeSort(list, mid+1, right) #후반부 정렬 merge(list, left, mid, right) #합병 #시간 복잡도 - 데이터 크기가 n 일때, mergeSort 는.. 2020. 10. 4.
[Python 기초] 재귀함수 이해하기(피보나치, 최대공약수, 하노이의 탑) 재귀함수는 함수 정의 내 같은 이름의 함수가 올 때 이를 재귀함수라고 하며, 반드시 탈출 조건이 있어야 stack overflow를 방지할 수 있다. 같은 행위가 반복될 때 재귀함수를 사용한다. 재귀함수를 피보나치, 최대공약수, 하노이의 탑의 예제를 통해 이해해 보고자 한다. #피보나치 수열 #for문 사용 def fibo(n): list = [] for i in range(0,n): if i 2020. 10. 4.
[자료구조] 점근표기법(asymptotic notation) 점근표기법(asymptotic notation) O (빅-오) 점근적 상한에 대한 표기법. O(g(n))O(g(n))은 g(n)g(n)의 증가율보다 작거나 같은 함수들의 집합이다. 예를 들어 O(n^2)에는 O(1),O(n),O(nlogn)O(1),O(n),O(nlog⁡n) 등이 포함된다. 주어진 알고리즘의 증가율보다 크거나 같은 최소의 증가율을 찾는 것이 목적. #Big O 표기법 이해하기 f(x) ≤ c*g(x)을 증명할 수 있으면 f(n) = O(g(n))는 참이다. 예시 f(x) = 2x^2+3, g(x) = x^2 일때, f(x) = O(g(x))는 참인가? f(x) = O(g(x)) is true when c=3 x≥2 #O(1),O(n),O(logn)O(n^2),O(n^3) 비교 Ω (빅-오.. 2020. 10. 2.
리뷰 논문(review paper)이란? 내가 대학원에 들어왔을 때 알았더라면 좋았을 연구 노하우 SlideShare를 보고 새로운 연구 주제에 처음 입문하는 법으로 최근 리뷰 논문을 몇 개 골라서 읽어라는 조언을 봤다. 지금 인공지능을 연구하는 대학원생 친구도 리뷰 논문으로 시작하라는 말을 했던 기억이 있어 연구 논문(research paper)과 리뷰(review paper) 논문의 차이를 알아보았다. 리뷰논문(review paper)이란? - 리뷰 논문은 특정 주제에 대한 여러 최신 연구 결과들에 대해 정리한 논문이다. - 대부분 그 분야의 대가 혹은 rising star들이 그 논문을 쓴다. - 길이가 길고 reference들이 아주 많다. 실험 논문과 달리 리뷰 논문은 실험 없이 다른 논문을 바탁으로 실험 결과를 종합하여 정리하거나 연.. 2020. 10. 1.
방향성의 중요성 (feat. 대학원생 때 알았더라면 좋았을 것들) 어제 석사 졸업 후 연구직으로 계시는 분을 오랜만에 만났다. 그리고 자연스럽게 커리어에 관한 이야기를 했다. 커리어에 대해 나는 기술과 지식은 끊임없이 변화하는 것이니 무슨 직업을 갖는 것보다 빠르게 새로운 지식과 기술을 습득하고 이를 통해 시대 적응력이 뛰어난 사람이 되는 것이 중요하며, 이 점에서는 나는 자부심이 있다고 말했다. 그 말을 듣더니 그 분은그럼에도 '방향성'은 중요하다고 말씀하시더라. 집에 돌아오면서 많은 생각이 들었다.그 방향성에 대해 나는 얼마나 깊이 생각했는가.그리고 얼마나 나의 방향성은 정리가 되었는가. 방향성 설정이 중요하다. 새로운 지식과 기술은 그 방향성을 있는 목표를 수행하기 위해 수단과 도구로서 필요한 것이다. 최근에 "내가 대학원에 들어왔을 때 알았더라면 좋았을 연구 노.. 2020. 10. 1.