코테 기초 84

field : 배열을 만들 필요 없는 경우

자연수의 오름차순 배열 - 1 2 ... N 인 경우에는 - index(pointer) == value 가 되므로, 굳이 배열을 만들지 않아도 되는 상황이 있다 - 그렇지만 value가 들쭉날쭉 하다면, 배열을 만들 필요가 있다 (알고리즘 006번, 007번 참조) - 또 index - value 쌍을 할당하는 게 아니라, value만 가지고 바로 작업할 수 있는 경우를 한 번 생각해 봐야 한다(배열 자체보다는 target이 무엇인지) for (int i = 0; i now) { mydeque.removeLa..

코테 기초 2022.12.05

Two Pointers

이중 for문의 2차원 선형 탐색으로, (Target값이 발생할 확률이 적은 공간이 포함된) 모든 범위를 훑기 보다 확률이 0인 공간은 배제하되, 중복되는 범위가 없되, 모든 경우의 수를 탐색하도록 한다 - Target, sum, marker Target은 인풋으로 주어져 고정되어 있고, sum이 변수인데, 변수를 1부터 증가시키는 방향으로 들어갈 수도 있고 변수를 두 포인터의 (사이의 모든 값들의) 합으로 설정할 수도 있다 (또 Target이 포인터 각기의 합인지, 아니면 사이의 모든 값의 합인지) marking은 당연히 Target == sum일때 marker++; 해주면 됨 - pointer의 움직임 좌측에서 시작해서 ++ 되는지 양 끝에서 시작해서 s++; or e--; 되는지 - 시행 필드 만약..

코테 기초 2022.12.05

구간 끊기

인덱스를 1부터 조회하는 기본 배열에 value를 넣을 때에는 1부터 N까지 사용 (구간의 length는 같다) + 기본 배열을 구간 합으로 전처리하려면 length는 같고, 포인터도 같으니 그대로 N+1로 사용해주면 됨 // ISC - Line 1 StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int Q = Integer.parseInt(st.nextToken()); // Line 2~ int A[][] = new int[N+1][N+1]; for (int x = 0; x

코테 기초 2022.12.03

IOException

BufferedReaderd에서는 IOException 필수로 넣어줘야 함 Java에서 Exception은 좀 어려운 개념입니다. 간단하게 설명드리면, JVM은 프로그램에서 에러가 발생했을 때, Exception을 던지게(throw) 됩니다. 일반적으로, 이를 try - catch를 사용하여 프로그램에서는 처리합니다. 하지만, 어떤 경우에서는 이를 다시 자신이 처리하지 않고 자신을 부른 곳으로 던지게 됩니다. 그럴 경우에는 method에 thows java.io.IOException과 같이 명시를 하게 됩니다. 본론으로 들어가면, 님의 코드에서 public static void main(String[] args) thorws java.io.IOException 이렇게 명시되어 있다면, main() met..

코테 기초 2022.12.03

포인트 받기와 데이터 흐름 등

필요한 것 = UP : Plugged Cable로 받아오는지, 있는 값을 사용하면 되는지 : Box(type(s/b), label, (b-capacity)) : value를 담는시행 필드(for문) : (cable과 box의 Type차이로) 형 변환이 필요한지 - 변수 선언 - (Data) type - (Single Variable) - box label - value - bundle(array) Variable - capacity (작업 내용) 형변환 쪼개기 길이 추출 (공간) : 싱글 : for문 : 이중 for문 ------ // String형 Single + (sc) Input값을 받아서 // char형 Array Bundle에 + 값을 쪼개 넣고 // Int형으로 형변환하면서(아스키코드) + 답..

코테 기초 2022.12.03