목록전체 (348)
파게로그
// C89에선 얘는 사용 불가 /* C89에선 얘만 사용 가능 */
함수의 매개변수에서 void 함수 선언부에서 void를 생략하면, 매개변수를 받지만 다만 그 개수나 자료형을 모름을 의미한다. 함수 정의에서 void를 생략하면, 매개변수가 없다는 뜻이다. → 언제나 void를 넣는 습관을 기른다. C에서 커맨드라인 매개변수 int main(void) { /*...*/ } int main(int argc, char* argv[]) { /*...*/ } int main(int argc, char** argv) { /*...*/ }
포큐 강의 C에 대해 조금 더 깊이 공부
문제 링크: 1074번 Z https://www.acmicpc.net/problem/1074 Z를 그리되, 0부터 원하는 위치까지 모두 일일이 그린다면 시간 초과로 이 문제를 풀 수 없다. 따라서 분할 정복 기법을 활용하여 몇 번 사각형에 속하는지 확인하는 방식을 취한다. solution()에서의 n은 변의 길이이고, start는 사각형의 좌상단 숫자이므로 가장 처음에 n에는 2^N를, start에는 0을 넣어준다. 그리고 r, c를 통해서 1, 2, 3, 4번 사각형 중 어디에 속하는지를 판단하고 해당 사각형에 대해 solution()을 호출한다. 다만 r과 c는 최초의 사각형을 기준으로 하고 있기에, 분할된 사각형을 기준으로 갱신되어야 하는데, 행 또는 열, 또는 행과 열 모두에서 n/2를 빼줌으로써..
package practice.bitmask; public class BitwiseOperation { public static void print() { System.out.println(); } public static void print(Object line) { System.out.println(line); } public static void print(Object linePart1, Object linePart2) { System.out.println(linePart1+": "+linePart2); } public static void main(String[] args) { print("NOT, AND, OR, XOR"); // 19 = 10011(2), 114 = 1110010(2) prin..
문제 링크: 2470번 두 용액 https://www.acmicpc.net/problem/2470 head와 tail이 각각 하나의 값들을 가리키고 있을 때, 두 값의 합 cur이 0에 가까워지고자 한다면, cur 0일 때는 cur을 왼쪽으로 옮겨준다. 계속해서 그 차이 diff를 확인하면서, 차이가 갱신될 때마다 head와 tail이 가리키는 값을 저장해준다. 물론 이러한 매커니즘이 동작하려면 배열이 가장 먼저 정렬되어 있어야 한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; im..
문제 링크: 10800번 컬러볼 https://www.acmicpc.net/problem/10800 공을 먼저 크기에 따른 순서대로 정렬한다. 다음과 같은 예시가 있다고 생각해보자. 정렬후 인덱스 idx 0 1 2 3 4 5 6 7 8 size 2 3 4 10 11 12 15 16 17 color 3 2 1 2 2 1 2 3 1 sum 0 2 5 9 19 30 42 57 73 csum[1] 0 0 0 4 4 csum[2] 0 0 3 3 13 csum[3] 0 2 2 2 2 예를 들어, size가 11인 공의 경우 1. size를 고려한다면, 자신보다 앞에 있는 모든 공을 먹을 수 있다. -> sum[4] = 19 2. color를 고려한다면, 자신보다 앞에 있는 모든 공 중 동일한 color의 공은 먹을..
CREATE TABLE MEMBER ( ID VARCHAR2(50) , PWD NVARCHAR2(50) , NAME NVARCHAR2(50) , GENDER NCHAR(2) , AGE NUMBER , BIRTHDAY CHAR(10 BYTE) , PHONE CHAR(13 BYTE) , REGDATE DATE ) 위를 아래와 같이 수정하고자 한다. CREATE TABLE MEMBER ( ID NVARCHAR2(50) , PWD NVARCHAR2(50) , NAME NVARCHAR2(50) , GENDER NCHAR(2) , BIRTHDAY CHAR(10 BYTE) , PHONE CHAR(13 BYTE) , EMAIL VARCHAR2(200) , REGDATE DATE ) 자료형 변경 ALTER TABLE M..