본문 바로가기

전체 글495

String 클래스의 특징(Java 1.8) 2가지의 생성방식 & 생성되는 메모리 영역 String strA = new String("AAA"); // (1) String strB = "AAA"; // (2) (1) New 연산자를 사용하여 Heap 영역에 생성하는 방식 (2) 문자열 리터럴을 사용하여 string constant pool 에 생성하는 방식 참고 Java 1.7부터 Perm영역에 있던 constant pool이 Heap 영역으로 옮겨졌고, Java 1.8부터는 Perm영역이 사라지고, 대신에 Native Memory영역에 Metaspace 영역이 추가되었다. String은 변경 불가능한(immutable) 객체 public final class String implements java.io.Serializable, Comparabl.. 2021. 7. 17.
[BOJ]17085번: 십자가 2개 놓기(c++) www.acmicpc.net/problem/17085 17085번: 십자가 2개 놓기 첫째 줄에 격자판의 크기 N, M (2 ≤ N, M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에 격자판의 상태가 주어진다. 항상 두 개의 십자가를 놓을 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 브루트 포스 #include #include #include using namespace std; template using d_vector = vector; struct pos { int y, x; }; // right, down, left, up int dr_y[] = {0, 1, 0, -1}; int dr_x[] = {1, 0, -1, 0}; int N, M; vector board; // 십자가(.. 2020. 9. 15.
20200911_TIL 항목 설명 BOJ 문제 풀이 성곽 찾기 소수의 배수는 아직 푸는 중이다 ㅜㅜ 오늘은 한게 되게 적네 알고리즘 문제는 정말 감이 중요한것 같다. 내가 지금까지 몇 문제를 풀었느냐 보다는, 최근에 몇문제를 풀었느냐가 중요한...ㅋㅋㅋㅋ 오늘 푼 문제들 다 예전같으면 1시간 내에는 풀수 있는 것들이었는데 이래저래 버벅이느라 한참 걸려서 아쉬웠다. 2020. 9. 12.
[BOJ]1786번: 찾기 (c++) www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m번 문자가 차례로 � www.acmicpc.net KMP 문자열 알고리즘 #include #include using namespace std; // Prefix Index 배열 만들기 vector make_pi(string &pattern) { int len = pattern.size(); vector pi(len); for (int i = 1, j = 0; i 0 && pattern[i] != patter.. 2020. 9. 12.