목록전체 글 (89)
코딩세상
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 def solution(a, b): sum = 0 answer = 0 if a < b: for i in range(a, b+1): sum += i answer = sum else: for i in range(b,a+1): sum+=i an..
문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어져 있습니다. 입출력 예 s answer "pPoooyY" true "Pyy" false 입출력 예 설명 입출력 예 #1 'p'의 개수 2개, 'y'의 개수 2개로 같으므로 true를 return 합..
- Fully - Connected Layer와 이미지 데이터 FC Layer(Fully - Connected Layer)는 1차원 데이터를 요구합니다. 즉, 2차원 상의 데이터를 단순하게 1차원 데이터로 바꾸는 것인데 이렇게 되면 우리는 2차원 상에서 가지는 정보를 포기해야합니다. 이러한 정보는 이미지 내 사물간의 거리관계나 색의 변화(특히 세로로 변하는 상황)를 예로 들 수 있으며, 이는 공간 정보(Spatial Information)가 무너지게 되는 것입니다. - Convolutional Neural Network 그래서 이러한 문제를 해결하기 위해 이미지 처리에 특화된 딥러닝 모델이 등장하였습니다. 이를 Convolutional Neural Network(CNN)이라고 합니다. CNN 모델은 대표..
문제 설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. "Kim"은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return ["Jane", "Kim"] "김서방은 1에 있다" def solution(seoul): for i in range(len(seoul)): if seoul[i] == 'Kim': answer = '김서방은 '+ str(i) + '..
문제 설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 "수박수" 4 "수박수박" def solution(n): answer = '' for i in range(n): if i%2 == 0: answer += '수' else: answer += '박' return answer [코드설명] 짝수와 홀수에 따라 추가되는 수가 달라야 하므로 for문의 범위를 자연수 n으로 설정하고 짝수일 때는 answer에 수를 추가하고 홀수 일 때는 박을 추가하게 하고 그 결과값을 r..
- 전통적인 이미지 처리 기법 딥러닝 이전에도 수많은 이미지 처리 기법들이 발전해왔습니다. 대표적인 예로 포토샵을 예로 들 수 있습니다. 포토샵을 통해 원하는 형태로 이미지를 편집할 수 있었으며, 이러한 방법은 현재 딥러닝 모델 학습을 위한 데이터 가공에도 사용하고 있습니다. 오늘은 이미지 처리 이미지에서 널리 사용되는 레나 이미지를 바탕으로 이미지 처리에 어떤 방법이 있는지 알아보고 해당 기능을 사용하기 위해 PIL라이브러리에서 어떤 기능들을 사용해야되는지 코드로 알아보겠습니다. - 형태 변환 잘라내기(Crop) : 이미지 내에서 원하는 위치에서 원하는 크기만큼 이미지를 잘라내는 방법 # 이미지 crop from PIL import Image def crop(img, coordinates): img_c..
문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. def solution(s): answer = int(s) return answer [코드 설명] 이번 문제는 문자열 s를 숫자로 변환하여 반환하면 되므로 변수 answer에 int() 함수를 사용하여 형태를 int로 변환한 문자열 s를 저장하여..
문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] def solution(n): arr = list(str(n)) arr.reverse() return list(map(int, arr)) [코드 설명] 문제의 조건에서 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열을 만들어야 하므로 .reverse()함수를 사용하기 위해 먼저 변수 arr에 자연수 n을 str형태로 변환하여 list()함수를 사용하여 list로 만들어줍니다. 그 후 .reverse()함수를 사용하여 list의 ..
앞서 CNN에 대해 이해하기 전 이미지에 대한 개념을 공부하였습니다. 그렇다면 본격적으로 CNN에 대해 공부하기 전에 현재 딥러닝이 어떤 분야에서 이미지를 처리하는지 알아보겠습니다. - 사물인식(Object Detection) 위 사진은 사물인식에 대한 대표적인 사례들을 나열한 사진입니다. 첫 번째로 우리가 흔히 뉴스에서도 접할 수 있는 자율 주행입니다. 자율 주행에서 딥러닝은 차, 장애물, 사람 등을 구별하여 차량이 스스로 정상적으로 주행할 수 있게 도와줍니다. 두 번째로 안면 인식입니다. 안면인식은 스마트폰의 잠금해제에도 적용되어 있을 정도로 폭 넓게 사용되고 있는 분야입니다. 스마트폰의 경우 사용자의 얼굴을 인식하여 해당 스마트폰의 주인이 맞는지 판별하고 맞으면 잠금을 해제하는 기능으로 사용되며, ..
- 왜 CNN과 이미지 데이터인가? CNN은 대표적인 딥러닝 모델입니다. 이미지 분석 작업에 최적화된 성능을 보입니다. 앞에서 설명했던 개와 고양이의 이진분류를 진행할 때 사용할 수 있는 모델이 바로 이 CNN이며, CNN이 이미지 데이터를 잘 학습하는 원리를 알기 위해서 이미지 데이터를 이해할 필요가 있습니다. - 이미지 데이터 이미지 데이터란 사진, 그림 등을 컴퓨터로 저장한 데이터를 나타냅니다. 흔히 우리가 이미지를 저장 할 때의 형식인 JPG이미지와 PNG이미지로 유명합니다. - 픽셀(Pixel) 이미지는 픽셀이라는 불리는 점을 기반으로 구성됩니다. 그렇다면 여기서 픽셀이라는 것은 어떤것일까요? 픽셀은 Pictures Elements의 약자입니다. 위에서 본 그림처럼 이미지는 수많은 픽셀로 이루어..