일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Flpyd-Warshall
- 이분매칭
- VituralBox
- pythonanywhere
- 백트래킹
- 네이버 지도 api
- 알고스팟
- 알고리즘
- 축사 배정
- 최소신장트리
- 백준
- SpringBoot
- 이친수
- 피노나치 수열
- 피보나치수열
- Floyd-Warshall
- 쉬운 계단 수
- 코드그라운드
- Ubuntu64bit
- Mysql5.7
- 분할정복
- tensorflow
- 최소스패닝트리
- 연속합
- 다이나믹 프로그래밍
- 세그먼트 트리
- 이분 매칭
- 동적계획법
- 이분탐색
- 나무자르기
- Today
- Total
목록Language (27)
초보개발자
String을 이용하면서 컴파일 에러가 나서 확인해봤다. 다음은 C++11 때 추가된 함수들이라고 한다.stoi, pop_back 등 만약, stoi 함수를 쓸 수 없는 경우, 라이브러리에 stdlib.h를 추가하고 atoi로 수정한다.단, 인자의 경우 string이 아니라 const char*타입이므로 string을 계속 사용할 경우 c_str 함수를 이용하여 넘겨준다. 참고로 gcc-4.8.x 버전은 C++11 버전이라고 한다.
출처: https://programmers.co.kr/learn/courses/9/lessons/276- 쓰레드는 실행가능상태인 Runnable과 실행상태인 Running 상태로 나뉜다.- 실행되는 쓰레드 안에서 Thread.sleep()이나 Object가 가직 있는 wait() method가 호출이 되면 쓰레드는 블록상태가 된다.- Thread.sleep()은 특정시간이 지나면 자신 스스로 블록상태에서 빠져나와 Runnable이나 Running 상태가 된다.- Object가 가지고 있는 wait() method는 다른 쓰레드가 notify()나 notifyAll() method를 호출하기 전에는 블록상태에서 해제되지 않는다.- wait() method는 호출이 되면 모니터링 락을 놓게 된다. 그래서 대..
출처: https://programmers.co.kr/learn/courses/9/lessons/274공유객체가 가진 메소드를 동시에 호출 되지 않도록 하는 방법- method 앞에 synchronized을 붙인다.- 여러개의 쓰레드들이 공유객체의 method를 사용할 때 method에 synchronized가 붙어 있을 경우 먼저 호출한 method가 객체의 사용권(Monitoring Lock)을 얻는다.- 다른 synchronized method들이 객체의 사용권을 가지고 있더라도, synchronized를 가지고 있지 않은 method는 중간 중간 호출된다.- 모든 method에 synchronized를 붙이면, 마지막에 호출된 method는 너무 오래 기다리게 되므로, 동시에 호출됐을 때 문제가 ..
출처: https://programmers.co.kr/learn/courses/9/lessons/272이번에는 Thread 클래스를 상속하지 않고 Runnable 인터페이스를 이용하여 구현하는 방법이다.Runnable 인터페이스는 run method를 오버라이딩해주면 된다.이렇게 하는 이유는 JAVA는 단일 상속만 가능하기 때문이다. 인터페이스는 여러개 구현해서 사용할 수 있다. 단, 메인클래스에서 Thread를 상속받은 쓰레드를 사용하는 것이 아니기 때문에 start() method가 없다.쓰레드를 이용하기 위해서는 start() method를 꼭 호출해야하므로, 다음과 같이 하면 된다.Thread 객체를 새로 생성해 생성자를 이용하여 만들어준다. 예를 들면 Runnable 인터페이스를 이용하여 만들어..
출처: https://programmers.co.kr/learn/courses/9/lessons/271우선 자바 클래스를 만들 때, Java.lang.Object가 아니라 java.lang.Thread를 상속해야 한다.그리고 run() method를 오버라이딩해야 한다. 상단에 Source에 Override/Implement를 누르면 창이 하나 뜬다. 여기서, run() method를 선택한다.해당 Thread가 실행될 때 run이 실행된다. (class의 main method 느낌) Thread 객체에는 sleep() method가 있는데, 잠시 쉬는 역할을 한다. Class에서 Thread를 생성할 때, run method가 아니라 start method를 호출해야 한다.Thread start를 호출..
보통은 iostream을 썼었는데 최근 cstdio로 버릇을 바꾸는 중이다.이때, 문자 하나를 받을 때 '\n'이 입력되는 경우가 있다.어떻게 하면 되냐면 그냥 아래와 같이 하면 된다. char ch; scanf(" %c", &ch); %c 앞에 띄어쓰기를 해주면 알아서 무시된다.
출처: https://programmers.co.kr/learn/courses/9/lessons/269 JAVA에 관한 개념이 중요하기 때문에 중간에 스킵했다. JAVA5 이상에서 정의되는 함수이다. 어노테이션은 클래스나 method 위에 붙는다.어노테이션에 따라 클래스가 컴파일되거나 실행될 때 어노테이션의 유무나 어노테이션에 설정된 값을 통하여 클래스가 좀 더 다르게 실행되게 할 수 있다.사용자가 직접 붙이는 어노테이션은 custom 어노테이션이라고 한다.사용하는 방법은 1. 정의 2. 사용 3. 실행 순서를 따르면 된다. Custom 어노테이션 만드는 방법JAVA project에서 오른쪽 클릭하여 New를 누르면 Annotation 항목이 있다. 이를 클릭하고 이름을 정해준다.JVM 실행시 감지할 수..
출처: https://programmers.co.kr/learn/courses/9/lessons/253StringBuffer 객체에 추가할 때는 append 함수StringBuffer의 toString method는 자기 자신을 반환한다.append method를 이용해도 자기 자신을 반환한다. StringBuffer가 가지고 있는 method들은 대부분 자기 자신, this를 반환한다. 자기 자신을 계속 호출하여 계속 바꿔나가는 방식을 메소드 체이닝(Method Chaining)이라고 한다.자기 자신인 객체를 반환하기 때문에 .method 방식으로 호출할 수 있으며, 이것을 메소드 체인(Method Chain) 방식이라고 한다.
출처: https://programmers.co.kr/learn/courses/9/lessons/251 java.lang 패키지기본형 타입을 객체로 변환시킬 때 사용하는 Wrapper 클래스가 있다.자동으로 기본 타입 데이터를 객체 타입을 바꾸는 것을 오토박싱이라고 한다. (JAVA 5이상)반대로 객체 타입을 기본 타입으로 바꾸는 것을 오토언박싱이라고 한다. Integer i = 3; // 오토박싱 int i2 = i; //오토언박싱
main 함수 자동완성 동영상을 보다가 강사분이 너무 쉽게 main을 만드시길래 쳐봤더니 단축키가 있었다.main을 우선 치고, Ctrl+space를 누르면 함수를 자동으로 만들어주는 부분이 나온다.영타를 빠르게 쳐도 역시 자동완성이 제일 좋은거 같다. import 자동추가 단축키를 사용하여 쉽게 패키지를 import 하자.Ctrl+Shift+O System.out.println 단축키 sysout 또는 syserr를 치고 Ctrl+space를 누르면 자동완성이 된다. 자동 줄맞춤 Ctrl+Shift+F