본문 바로가기

분류 전체보기222

2. Java - 자바로 구현하고 배우는 자료구조 레퍼런스는 네이버 edwith - 자바로 구현하고 배우는 자료구조 입니다. Java Object Oriented Programming Student s = new Student(); 선언 하면 메모리는 얼마나 사용? → JVM은 s 라는 참조변수를 4바이트 할당하고, → Heap에 Student 에 쓰이는 만큼 할당한다. Student를 알기 위해선 상속관계를 파악해야한다. Generic Programmin, Paramaterized Types “지네릭”을 이야기할때 나같은 입문자들은 에 주목하게 되고, 거기에 Type을 강제한다는 것으로 이해하게 된다. 그러다보니 “지네릭” 이라는 이름이 굉장히 이상하게 느껴진다. Type을 강제한건 지네릭한거라기보다는 스페시픽한게 아닌가? 제한하는건데???? 그런데 .. 2022. 5. 18.
1. 복잡도 - 자바로 구현하고 배우는 자료구조 레퍼런스는 네이버 edwith - 자바로 구현하고 배우는 자료구조 입니다. 복잡도 Complexity 개념 인풋 ≥ 0 functions do more work for more input drop all constants ignore lower order terms ignore the base of logs 2n = O(n) → 2n 이 O(n)의 집합에 속한다는 뜻 빅오 표기법 O (빅오): same or faster o (리를오) 세타 : Same rate 빅 오메가 : Same or slower 리를 오메가 : slower 빅오 표기법 예제 n^4/3 은 O(n logn)이 될수 없다. 3n^3 + …. = 세타 (n^3)이 된다. 2022. 5. 18.
02. 스위칭과 다중접속 프로토콜 모든 레퍼런스는 K-MOOC : 네트워크 기초 (성균관대 안성진 교수님) 입니다. 02. 스위칭과 다중접속 프로토콜 02. 1. 스위칭 방법과 종류 스위칭의 필요성 여러 개의 장치가 있는 경우, 서로 데이터를 주고 받게 하기 위해 선으로 연결 모든 장치에 서로 링크로 연결되면 문제점이 발생링크의 대다수는 유휴시간이 많아 효율이 저하 장치가 많아질수록 비용이 많이 발생 여러 장치들을 스위치에 연결되도록 구성 스위치는 필요할 때마다 두 개의 장치를 연결 스위치들이 연결되어 큰 규모의 네트워크를 만들 수 있음 스위칭 방식의 종류 스위칭 방식 회선교환 메시지 교환 방식 패킷교환 ( 1. 데이터그램, 2. 가상회선) 회선 교환 (Circuit Switching) 전화망 (PSTN)이 이 방식을 사용 PSTN : .. 2022. 5. 17.
01. 네트워크의 개념 강의 내용을 간략하게 기록합니다. "CS 공부를 했다" 는 흔적 남기는 용도, "들어본것 같은데 뭐였지?" 할 때 확인용입니다. 네트워크 기초 강의 URL : 네트워크 기초 01. 1. 네트워크 개요 네트워크의 구성요소 노드 : PC, 서버, 라우터, 스위치 링크 : 노드를 연결해주는 것 (유선, 무선) 좋은 네트워크의 조건 성능지연시간 (Delay) : 경유시간, 응답시간, 왕복시간 처리량 (Throughput) : 링크를 통해 전달되는 단위 시간당 데이터의 양 신뢰성 (Reliability) 장애빈도, 장애 발생 후 회복시간, 재난에 대한 견고성 등 보안성 (Security) 링크의 연결 형태 일대일 연결 (Point-to-point) 멀티 포인트 연결 (Mulipoint, Multidrop) 네트워.. 2022. 5. 15.
비전공자를 위한 CS 전공 지식 공부 로드맵 비전공자를 위한 CS 지식 공부 로드맵 CS전공자 VS 비전공자 CS전공자 CS 전공 지식 : 4년동안 CS기본지식 (컴퓨터 구조, 자료구조, 알고리즘, 운영체제, 네트워크 등등)을 체계적으로 배운다. 컴퓨터 언어 : C언어부터 시작해 다양한 언어를 수업과 과제를 통해 경험한다. 프로젝트 경험 : 학교에서 주어지는 과제 자체가 프로젝트 경험이 되기도 하며, 여기에 더해 각종 대외활동, 해커톤, 동아리 활동 등을 통해 프로젝트 경험이 많다. 인맥 : 4년 누적 비전공자 CS 전공 지식 : 없을 무 컴퓨터 언어 : 국비학원, 부트캠프, 실무, 취미생활 을 통해 배울 수 있다. 프로젝트 경험 : 학원이나 대외활동, 직접 모집 등을 통해 경험 할 수 있다. 인맥 : ㅠㅠ CS 지식 공부 로드맵 CS 전공자에 비.. 2022. 5. 15.
JAVA IF문 안으로 안 들어가는 현상 if문 안의 schedule을 " "으로 세팅하고 if문 만들었음에도 if문 안으로 안들어감 해결 : String과 String은 == 이 아니라 equals()로 비교해야한다. 이유 : JAVA에서 String은 자료형이 아니라 Class이기 때문 2022. 4. 28.
[백준] 브론즈2 - 2675 문자열 반복 - 현타 (파이썬) 살짝 현타가 온다. 내 코드는 정말 길고 더럽고, 알아보기 힘들다. 반면에 다른사람들의 코드는 굉장히 짧고, 간단하다. 짧고 깔끔한것이 전부는 아닐지 모르지만, 일단 내코드보단 훨씬 좋아보인다. ㅋㅋ readline()을 사용한것부터 문제였을지도 모른다. 지난 문제에서 input() 때문에 시간초과 났기에 readline()으로 항상 해결보려 했는데, input()으로 했을때 훨씬 좋은 코드가 나오는걸 보니 다음부턴 상황에 맞게 사용해야겠다. 나는 거의 모든 문제를 배열 깔고, for문 여러번 돌리며 해결하는 경향이 있는것 같다. 그렇게 하면 대부분의 문제가 해결은 되겠지만, 그 보다 훨씬 좋은 방법들이 많은데 전혀 생각해보지 않고 키보드에 손부터 올리는것은 아닌가 하는 의문이 든다. 앞으론 간단한 문제.. 2022. 4. 21.
[백준] 1157 단어공부 - 문자열 끝부분 \n 제거하기 오늘도 상쾌하게 백준 문제로 하루를 시작합니다. 맞는것 같은데 자꾸 "틀렸습니다"가 나오길래 다시 확인해보니 readline()으로 입력시 마지막 문자열에 "\n"이 남네요. str.strip("\n")으로 제거해줍니다. 하루하루가 "맞왜틀?"의 연속이네요. [내 코드길이 > sum(상위 2명의 코드길이)] 네요.. 하하하.. 일단 input()으로 받아서 세팅자체가 짧은것도 있고, input().lower()로 입력과 동시에 lowercase로 받는 방법이 있다는것도 처음 알았습니다. 이렇게 다른 사람의 코드를 보다보면 배우는게 참 많네요. 동시에 이렇게 짜잘하게 경험적으로 배우는것보다 책 한권을 정석적으로 떼는 걸 병행해야 하는거 아닌가? 하는 생각이 드네요. 첫번째 코드는, input().lower.. 2022. 4. 20.
[백준] 1181 단어 정렬 (CLASS 2 에센셜 ) 1시간 넘게 씨름해서 겨우 맞췄다. 코드 길이는 658 B 다른 사람 채점 결과 보니 235 B로 해결한 사람이 있더라. 다른 사람 코드를 보니 정말 간결하다. (문제시 삭제 하겠습니다.) ​중복 제거 시 set() -> list() 을 사용해 집합으로 간단하게 제거했다. 정렬 시 list.sort(key = lambda x : (len(x), x)) 로 간단하게 필요한 조건에 맞게 정렬 했다. 오늘의 결론 key, 람다를 이용한 정렬을 익혀야겠다. 코드가 짧은게 더 읽기 좋다. 변수이름도 간결하게 해야겠다. 참고 자료 람다표현식 : https://dojang.io/mod/page/view.php?id=2359 파이썬 코딩 도장: 32.1 람다 표현식으로 함수 만들기 Unit 32. 람다 표현식 사용하기.. 2022. 4. 19.
[백준] 2562번 최댓값 - list.index()를 사용하자 쉬운 문제라도 배울건 있다. 굉장히 간단한 문제였다. 그렇지만 이 문제를 통해서도 한 수 배우기 위해 다른 사람의 코드를 염탐했다. 아니나 다를까 내가 몰랐던 부분이 있더라. 그건 바로 list.index() 오늘의 결론 풀었다고 그냥 넘어가지 말고 꼭 다른 사람들 코드를 읽고 배우자. 아래 list 자료형 페이지를 몇번이나 들락날락 했는데, index()가 있다는걸 몰랐다. 꼼꼼하게 보자. 참고자료 list 자료형 : https://wikidocs.net/14 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 2022. 4. 19.