전체 글 281

실습 4차시: 퍼셉트론, MLP

퍼셉트론이란? 퍼셉트론은 신경망의 가장 기초가 되는 기본 단위입니다. 생물학적 뉴런의 작업을 시뮬레이션하는 인공 뉴런이라고 할 수 있습니다. 퍼셉트론은 3가지 구성요소로 이루어져 있습니다. 입력(Inputs) 가중치(Weights) 출력(Output) Perceptron Class Perceptron 클래스 작성하기 lines = [] class Perceptron: def __init__(self, num_inputs = 3, weights = [1,1,1]): self.num_inputs = num_inputs self.weights = weights def weighted_sum(self, inputs): weighted_sum = 0 for i in range(self.num_inputs): we..

열거 타입(Enum)

그동안 Java로 문제 풀이를 할 때 enum을 몰라서 string 배열 등을 사용했었는데 enum을 여러 번 듣게 되어서 한 번 정리 및 공부해보려고 한다. enum 이러한 상수를 단순히 정수로 치부하지 말고 객체 지향적으로 객체화해서 관리하자는 취지 Java에서는 enum을 인터페이스와 같이 독립된 특수한 클래스로 구분 reference 타입으로 분류되며, enum 상수값은 힙 영역에 저장됨 일종의 클래스이지만 인스턴스화는 불가능: 고정된 정수들의 집합으로써 컴파일 타임에 모든 값을 알고 있어야 하기 때 장점 코드가 단순해지며 가독성이 좋아짐 허용 가능한 값들을 제한하여 유형 안전을 제공 구현의 의도가 열거임을 분명하게 나타낼 수 있음 switch문에서도 사용할 수 있음 단순 상수와 비교해 IDE의 ..

[231020] 개인 과제 마무리, OOP 강의

알고리즘 문제 풀기 어제 시간초과가 났던 문제를 해결해봤다. https://jinjinjincode.tistory.com/142 [프로그래머스] 숫자 짝꿍 시간 초과 import java.util.regex.Pattern; import java.util.Arrays; class Solution { public String solution(String X, String Y) { String answer = ""; String reg = "[0]+"; for(int i=0;i jinjinjincode.tistory.com 개인 과제 마무리 어제 팀원들에게 코드 리뷰를 받고, 팀원분의 코드를 한번 참고해서 코드를 수정했다. 우선 복잡했던 여러 메뉴들의 클래스를 다 삭제하고 클래스들을 더 명확하게 바꾸었다. M..

[231018] JAVA 개인 과제, 웹 기초 특강

알고리즘 문제 풀기 처음으로 정규표현식을 혼자서 사용해 문제를 풀었다. https://jinjinjincode.tistory.com/137 [프로그래머스] 옹알이(2) import java.util.regex.Pattern; class Solution { public int solution(String[] babbling) { int answer = 0; String[] words = {"aya", "ye", "woo", "ma"}; String reg = "[\\-]+"; for(int i=0;i jinjinjincode.tistory.com 자바 문법 5주차 강의 함수형 인터페이스: 추상 메소드 1개만 선언 가능 궁금했던 점: // . . . parkingLot.addAll(parkCars(carsW..

Chapter 13. 모던 자바(람다, 스트림, Optional)

함수형 프로그래밍 순수 함수: 수학의 함수처럼 특정한 데이터에 의존하지 않고, 관련없는 데이터를 변경하지도 않으며, 결과값이 오직 입력값에만 영향을 받는 함수 효용 검증이 쉽다 성능 최적화가 쉽다 동시성 문제를 해결하기 쉽다 모던 자바 : 자바 8 변경점 함수형 프로그래밍 아이디어 1: 함수를 일급 값(일급 객체)으로 일급 객체 특징 함수에 인자로 넘길 수 있다. 함수의 결과로 반환할 수 있다. 값을 수정할 수 있다. 값을 변수에 대입할 수 있다. 결론: 메서드 참조 기능 도입 함수형 프로그래밍 아이디어 2: 람다(익명함수) 익명함수란 이름이 없는 함수를 뜻하며 일급 객체로 취급됨 함수를 값으로 사용할 수 있으며 파라미터에 전달 가능 연산 가능 스트림 데이터 처리연산을 지원하도록 소스에서 추출된 연속된 ..

Chapter 12. 스레드

프로세스: 운영체제로부터 자원을 할당받는 작업의 단위. "실행 중인 프로그램" OS가 프로세스를 할당할 때 프로그램 Code와 Data, 메모리 영역(Stack, Heap)을 함께 할당 프로세스 구조 Data: 프로그램이 실행 중 초기화된 데이터를 저장하는 공간(전역 변수, static 변수, 상수) Stack: 지역 변수, 매개변수 리턴 변수를 저장하는 공간 Heap: 동적으로 필요한 변수를 저장하는 공간 스레드: 프로세스가 할당받은 자원을 이용하는 실행의 단위 프로세스가 작업 중인 프로그램에서 실행 요청이 들어오면 스레드를 만들어 명령 처리 스레드는 프로세스 내 메모리공간(Heap)을 공유받음 스레드는 자신만의 메모리공간(Stack)도 할당받음 Java 스레드: JVM 프로세스 안에서 실행되는 스레드..

Chapter 11. 제네릭(Generic)

제네릭의 효용 중복되거나 필요없는 코드를 줄여줌 그러면서도 타입 안정성을 해치지 않음 자바에서는 똑같은 로직을 수행하는 함수를 타입을 지정해야 한다는 이유로 여러번 구현해야 함 -> Object를 사용? 이 경우 타입 안정성을 침해받게 됨 -> 단항 연산자를 사용 x. 두 객체의 타입이 다르다면? 로직과 다른 순서의 타입들이 들어오게 된다면? 등등 제네릭 문법 예시로 살펴보기 // 1. 2. public class Generic { // 3. private T t; public T get() { return this.t; } public void set(T t) { this.t = t; } public static void main(String[] args) { // 4. Generic stringGen..