분류 전체보기
[백준] 2346 풍선 터뜨리기 - Java / Python
[백준] 2346 풍선 터뜨리기 - Java / Python
2022.02.11요세푸스 문제처럼 덱을 사용해서 원을 구현하고 풀이하는 문제다. 인덱스 값과 몇 번 띄어넘는지 알려주는 값을 함께 넣어야 하므로 따로 클래스를 만들고 클래스를 덱에 넣어줬다. (여기서 배열을 사용할 수도 있을 것 같다.) List에 항상 기본형 타입만 넣는다는 생각은 버리자!! 그 다음부터는 한 칸 씩 당겨주면서 해결하면 되는데... cycle이 양수일 때는 poll을 진행하면서 이미 한 칸 당겨졌기때문에 한 번 덜 당겨져야 한다. Java import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new Buffere..
[백준] 1620 나는야 포켓몬 마스터 이다솜 - Java / Python
[백준] 1620 나는야 포켓몬 마스터 이다솜 - Java / Python
2022.02.11해시 맵을 사용해서 풀어야 한다. 일반 배열을 사용하게 되면 이름을 입력으로 받을 때 반복문을 돌게 돼 시간 초과가 발생한다. 포켓몬 클래스를 만들어서 객체를 생성하는 방향으로도 풀 수 있을 것 같긴 한데.. 이렇게 하면 시간이 좀 더 오래 걸릴 것 같아 시도하지는 않았다. Java import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringT..
파이썬 시작하기
파이썬 시작하기
2022.02.06파이썬의 자료형에는 숫자 / 문자열 / 리스트 / 튜플 / 딕셔너리 / 집합 등이 있다. 자바에서 기본 자료형과 참조 자료형으로 여러 가지 자료형을 만들 수 있는 것과는 차이가 있다. 파이썬의 자료형은 자료형의 상태에 따라 참 / 거짓을 판단할 수 있도록 설계되었다. 자료형 True / False 비어있는 문자열 False 공백만 존재하는 문자열 False 값이 존재하는 문자열 True 비어있는 리스트 False 값이 존재하는 리스트 True 숫자 1 True 숫자 0 False 숫자 -1 True 비어있는 딕셔너리 False 값이 존재하는 딕셔너리 True 비어있는 튜플 False 값이 존재하는 튜플 True 위와 같이 자료형의 상태에 따라 참 / 거짓이 결정된다. 자바에서는 변수를 선언할 때 자료형을..
[CSS] CSS 정리 (4)
[CSS] CSS 정리 (4)
2022.02.06지금까지 CSS를 사용해 웹 페이지를 아름답게 꾸미고 시각적으로 보기 좋은 웹 페이지를 만드는 방법에 대해 배웠다. 이제 웹 페이지간의 상호작용에 집중해 애니메이션 동작을 구현해보자. transform 물체의 크기 형태 위치를 바꾸는 것을 변형이라고 한다. CSS 변형을 이용해 좀 더 동적 웹 페이지를 만들어보자. 변형을 적용하기 위해 transform 속성과 속성에 해당하는 다양한 함수를 사용한다. 1. translate() 함수 상자에 커서를 가져가면 translate함수에 맞춰서 상자를 이동시킨다, x y 좌표를 사용해 2차원 간의 이동을 설정할 수 있고, z좌표까지 사용하면 이동을 3차원으로 확장할 수 있다. 2. scale() 함수 요소를 지정한 크기만큼 확대하거나 축소할 수 있다. 2차원과 3..
[CSS] CSS 정리 (3)
[CSS] CSS 정리 (3)
2022.01.21특정 부분이나 글자 등 여러 요소들에 대해 배경을 넣어서 아름다운 웹 페이지를 만들 수 있다. 웹의 바탕을 꾸며 주는 배경 스타일에 대해 알아보자. background 1. background-color 배경색을 지정할 때 사용한다. 색의 지정은 텍스트의 색상을 설정하는 방법과 동일하다. (16진수, RGB, HSL) 또한 background-color 속성은 스타일 상속에서 배재된다. 2. background-clip 배경색의 적용 범위를 조절하는 역할을 한다. border-box : 테두리까지 적용한다. padding-box : 패딩 범위까지 적용한다. content-box : 콘텐츠 부분에만 적용한다. 박스 모델에서 어떤 요소까지 배경색을 적용할 지를 결정한다. 3. background-image ..
[CSS] CSS 정리 (2)
[CSS] CSS 정리 (2)
2022.01.20웹 문서에서 내용을 배치할 때 각각의 요소들을 박스 형태로 구성한다. margin padding border 등 여러 가지 박스 요소들을 사용해 문서를 적절하게 배치하고 꾸밀 수 있다. 이제 CSS의 박스 모델에 대해 알아보자. 박스 모델 1. 블록 레벨 요소 블록 레벨 요소는 태그를 사용했을 때 혼자 한 줄을 차지하는 것을 말한다. 위에서는 , , 태그가 블록 레벨 요소이다. 2. 인라인 레벨 요소 인라인 레벨 요소는 한 줄을 차지하지 않고, 콘텐츠만큼의 영역을 차지한다. 위에서는 태그가 인라인 레벨 요소이다. 블록 레벨 요소와 인라인 레벨 요소를 비교 확실하게 이해하자. 이제 박스 모델을 사용해서 화면을 구성할 때 필요한 개념에 대해 알아보자. 패딩 / 테두리 / 마진은 상하좌우로 나뉘어 있어 네 방..
[CSS] CSS 정리 (1)
[CSS] CSS 정리 (1)
2022.01.19HTML (Hyper Text Markup Language)는 웹 사이트의 내용을 담당하고, CSS (Cascading Style Sheets)는 웹 사이트의 디자인을 담당한다. CSS는 웹 문서의 스타일이다. (Cascading : 위에서 아래의. 계단식의 정도로 해석하면 된다.) 웹 페이지를 항상 컴퓨터에서만 열람할 수는 없다. 모바일, 태블릿 등 여러 가지 환경에서 웹 페이지를 열어볼 수 있는데 여기서 HTML만을 사용해서 웹 페이지를 구성하게 되면 다양한 환경에 대한 화면을 따로따로 만들어야 하지만, CSS를 도입하면 하나의 웹 페이지의 뼈대에 CSS만 다르게 적용하는 것으로 효율적으로 다양한 환경의 화면을 구상할 수 있다. (이를 반응형 웹 디자인 이라고 한다) 위를 통해 알 수 있듯 CSS는 ..
[HTML] HTML 정리 (2)
[HTML] HTML 정리 (2)
2022.01.19: 사용자가 웹사이트로 정보를 보낼 수 있는 요소를 폼이라고 부른다. 보낸 정보는 서버에서 처리한다. 여러 가지 폼 요소 form에 사용할 수 있는 속성을 알아보자. 1. method : 내용을 서버 쪽으로 어떻게 넘겨줄 것인지 지정한다. - post : 속성값으로 post를 가질 수 있다. 주소 표시줄에 사용자가 입력한 내용이 드러나고, 데이터에 제한이 있다. - get : 속성값으로 get을 가질 수 있다. 데이터에 제한이 없고 입력한 내용도 드러나지 않는다. 2. name : 자바스크립트로 폼을 제어할 때 사용할 폼의 이름을 지정한다. 3. action : form 태그 안의 내용을 처리할 서버 프로그램을 지정한다. - autocomplete : 자동완성 기능을 제공하고, 기본값은 on 이다. 4...
[HTML] HTML 정리 (1)
[HTML] HTML 정리 (1)
2022.01.18HTML : 제목 본문 이미지 표 등 웹 요소를 알려주는 역할을 함. (Hyper Text Markup Language) 현재의 HTML은 HTML5 라고 할 수 있다. Hyper : 하이퍼링크 Markup : 태그 브라우저는 HTML 태그들을 해석해서 화면을 만들어낸다. CSS : HTML로 만든 내용을 꾸미거나 배치하는 역할을 한다. (태블릿 PC 모바일 호환에 사용) JavaScript : 동적 효과를 줄 때 사용한다. (라이브러리/프레임워크를 사용하지 않고 JavaScript만 쓰면 Vanila JavaScript) 프레임워크를 사용할 때는 개발의 주도권이 프레임워크에 있다. 라이브러리를 사용할 때는 라이브러리에서 필요한 기능만 사용해도 되기 때문에 주도권이 개발자에게 있다. 프레임워크와 라이브러..
[Android] 채팅 어플 만들기
[Android] 채팅 어플 만들기
2022.01.02소켓 통신을 이용한 채팅 어플을 만들어보자. 더보기 import android.database.sqlite.SQLiteDatabase; import android.icu.util.Output; import android.os.Handler; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import andro..
정리
정리
2021.12.131. (Traditional) ML 과 DL의 차이점 딥러닝에서는 backpropagation으로 Cost를 최소화한다. (층을 겹쳐서 쌓으니 scale이 커짐) DL 에서는 Feature 추출도 기계가 함. (인간의 개입을 최소화) 위의 이유 때문에 DL의 모델이 ML보다 복잡해지고 결정할 parameter수도 많아짐. 학습 데이터가 많이 필요함. 2. backpropagation, chain rule 여러 층으로 구성된 Neural Network. 즉 Deep Neural Network 에서 가중치를 갱신할 때 사용. forward(Loss 값 계산) -> backward(편미분 chain rule) -> gradient descent(가중치 업데이트) MLP에서 XOR을 처리하기 위해 backpro..
[Java] 네트워킹 (Networking) 2
[Java] 네트워킹 (Networking) 2
2021.12.13컴퓨터끼리 통신을 할 때 쓰는 도구를 소켓이라고 한다. 소켓을 통해 진행하는 통신의 종류로는 TCP와 UDP가 있는데, 소켓 프로그래밍에 대해 알아보자. 데이터를 전송(네트워킹)은 계층적인 구조로 이루어져있다. 여기서 전송을 담당하는 계층이 있는데 이 전송 방식으로 TCP와 UDP가 있다. TCP는 1:1 통신방식을 사용해 속도가 UDP보다 느리지만, 데이터 전송이 잘못되면 다시 요청하기 때문에 데이터의 신뢰성이 높다. UDP 는 보내는 사람이 일방적으로 보내는 형식이라고 생각할 수 있다. 덕분에 속도도 빠르지만, 받는 데이터가 올바른 데이터인지 아닌지 확인하는 과정이 없어 데이터의 신뢰성이 좀 떨어진다. (Streaming 에서 사용함) datagram은 데이터 단위라고 생각하면 된다. TCP는 byt..