본문 바로가기

프로그래밍 언어

[Data Structure] List ▶ 2차원 배열 생성 3가지 방법 1) arr = [ [0] * cols ] * rows : 하나의 [0] * cols를 모든 rows의 index에서 가리키는 형상이다. : 따라서 하나의 열만 수정한다 하더라도, 모든 열이 다 수정된다. : 추천하지 않는 2차원 배열 생성 법 2) 가장 추천하는 방법 arr = [ [0 for _ in range(cols)] for _ in range(rows) ] 혹은 arr = [ [0] * cols for _ in range(rows) ] 3) arr = [] for _ in range(cols): col = [] for _ in range(rows): col.append(0) arr.append(col) ▶ 2차원 배열 생성시 속도 개선 방법 mylist = [.. 더보기
[JAVA] 디컴파일 및 컴파일 방법 시나리오 : .class가 모여있는 JAVA 플러그인에서 특정 기능을 수정하고 다시 컴파일하려고 한다. 0. Jar 파일 압축 풀기 >>> jar -xvf {jar 파일} 1. jd_gui 실행 파일을 이용해 먼저 .class 파일을 확인한다. 컴파일된 class 파일을 디컴파일해서 보여주는 것이라 수정할 수 없다. e.g. jd-gui-0.3.5.windows 2. JAVA 디컴파일러를 이용해 .java 파일로 만들어 준다. e.g. jad158g.win, 프롬프트 창에서 jad 명령어 이용 >>> jad -o -r -sjava -dsrc tree/**/*.class 3. 컴파일 해준다. 4. jar 명령어 이용하여 하나의 파일로 압축해준다. >>> jar cvf [파일명].jar -C . [압축할 파.. 더보기
[Data Structure] dictionary ※ 자주쓰는 것 위주로 정리 Key와 Value 출력 # Key와 Value 출력 for key, val in dic.items(): print("key = {key}, value = {value}".format(key=key, value=val)) ... key = alice, value=[1, 2, 3] key = bob, value=20 key = tony, value=15 key = suzy, value=30 ... # Key만 출력 for key in dic.keys(): print(key) ''' alice bob tony suzy ''' # Value만 출력 for val in a.values(): print(val) ''' [1, 2, 3] 20 15 30 ''' Key로 Value 얻기 .. 더보기
CBZ and CBNZ CBZ 명령은 [CBZ Rn, label] 형식을 따른다. Rn이 0x0이면 label로 분기하고, 0x0이 아니면 다은 번지로 진행한다. [Reference] http://trace32.com/wiki/index.php/CBZ_and_CBNZ 더보기
[c] return과 exit 함수의 차이 1. exit 함수 void exit(int status); // 프로세스 종료 - exit() 함수는 stdlib.h를 include 하여 사용한다. - 프로세스 종료하여 운영체제에 권한 넘긴다. - status 값을 운영체제에 반환 2. 사용방법 - exit(0) : 정상 종료 - exit(1) : 비정상 종료 반면, return은 해당 스택의 함수만 종료하는 것이다. [참조] https://ehclub.co.kr/810 blog.naver.com/mokdonjr/220813555163 더보기
cstring vs string 1. 기본 사용법 cstring은 헤더 파일을 추가하여 사용할 수 있고, char* 형식을 따른다. - char 형식을 따르므로, cin.getline(s, 100)을 하면, s에는 99개의 문자와 '\0'이 저장된다. #include void main() { char str[11]; cin.getline(str, 11); cout 더보기