컴퓨터공학 83

[java] @Override 메소드 오버라이딩에 대한 이해

개요 메소드 오버라이딩은, 부모 클래스에서 정의된 메소드를 재정의하는 것입니다. 기본 어노테이션 @Override 를 선언하여 기존 클래스의 동일한 메소드를 재정의함을 명시합니다. 아래 소스 코드는 클래스 A를 상속받는 클래스 B에서 메소드 hello()를 오버라이딩했습니다. 클래스 A에서 정의한 hello()가 아닌 클래스 B에서 정의한 hello()가 실행되었습니다. ▶ 소스 코드 class A { public void hello() { System.out.println("Hello, A"); } } class B extends A { @Override public void hello() { System.out.println("Hello, B"); } } class HelloWorld { public..

[python] Firebase Admin SDK child path 활용 데이터 읽기

개요 python firebase admin sdk를 활용하여 실시간데이터베이스에서 데이터를 읽는 방법과 path를 작성하는 방법입니다. 가정 다음과 같이 데이터가 저장되어 있다고 가정합니다. - fruit : - apple : - price : "100" - size : "3" - banana : - price : "200" - size : "92" - orange : - price : "600" - people : - amy - james 기본 설정 python 스크립트에서 아래와 같이 작성합니다. import firebase_admin from firebase_admin import credentials from firebase_admin import db cred = credentials.Cert..

[SAP/ABAP] EVENT DATA_CHANGED 활용하여 ALV 체크박스(checkbox) 클릭 시 바로 반영하기

개요 cl_gui_alv_grid 에서 필드 카탈로그를 통해 설정한 체크박스는 체크 후 새로고침해야 인터널 테이블에 해당 체크 값('X')이 저장됩니다. (새로고침 없이 체크박스 체크만 할 경우 인터널 테이블에 반영되지 않음) 이는 매우 불편하므로 DATA_CHANGED 이벤트를 통해 체크 시 바로 인터널 테이블에 반영되도록 만들어 보겠습니다. 전제 아래 구현 예제는 다음과 같이 전제합니다. alv를 구현하기 위해 필요한 일반적인 코드가 구현되어 있다. (아래 구현 예제는 이러한 코드가 모두 구현된 후에 추가해야 하는 코드만 서술합니다) 변수 ZCHECKBOX는 구조체 안에 TYPE C LENGTH 1 데이터 타입으로 선언되어 있다. 필드 카탈로그 내 ZCHECKBOX의 EDIT에는 'X' 값이 저장되어..

[백준] 17485 진우의 달 여행 (Large) c++

개요 인터넷에 유사한 풀이가 없어 해당 문제의 솔루션을 공유합니다. 체크리스트 DP 문제 유형임을 알고 접근했는가? DP 3차원 자료구조로 풀이를 작성했는가? 접근 방법 DP[i][j][k] 는 i행, j열에 왔을 때, 마지막으로 k 방향(0, 1, 2)으로 움직여 도착한 모든 경우의 수 중 최소 비용입니다. 예를 들어 DP[i][j][0] 은 DP[i-1][j+1][1] 과 DP[i-1][j+1][2] 중 더 작은 값과 현재 위치의 비용을 더한 값이 됩니다. (i-1행 j+1열에서 왼쪽으로 이동하여 i행 j열로 도착했기 때문) 솔루션을 간단하게 작성하기 위해 벡터의 크기를 +2 하여 2e9 (int 자료형에 담을 수 있는 정수 중 최댓값 근사값) 을 저장했습니다. 솔루션 #include #include..

[SAP/ABAP] RETURN과 EXIT의 차이

Procedure abap에서 procedure는 다음과 같은 종류를 가집니다. Subroutine Function module Method RETURN 상황에 관계없이 procedure에서 나갑니다. #1 예제 코드 DO 5 TIMES. WRITE : / 'A'. DO 5 TIMES. WRITE : / 'B'. IF SY-INDEX = '3'. RETURN. ENDIF. ENDDO. ENDDO. #2 출력 결과 A B B B EXIT 반복문 안에서는 해당 반복문만을, 반복문 밖에서는 코드를 감싸는 procedure에서부터 나갑니다. 즉 일관적인 return과 다르게 상황에 따라 모호한 명령을 수행합니다. #1 예제 코드 DO 5 TIMES. WRITE : / 'A'. DO 5 TIMES. WRITE :..

[SAP] client 입력 모드 변경 (insert / override)

입력 모드 변경 클라이언트 편집기 하단 우측의 INS 를 클릭하여 override 모드로 변경할 수 있습니다. 출처 SAP Tips: Using the insert and override buttons in your SAP GUI - Eursap Here’s a handy tip for all you SAP GUI users. When using SAP GUI, you can activate the “Insert” or “Override” options for text fields without having to do this on your keyboard. eursap.eu

[SAP] 자주 사용하는 TCODE

개요 SAP 사용하면서 자주 사용하는 TCODE 모음입니다. 계속 업데이트 하겠습니다. 사용 팁 /NTCODE - 강제로 해당 티코드로 이동 /OTCODE - 새로운 창에서 티코드 이동 TCODE SE80 - 통합 도구 SE37 - FUNCTION MODULE 생성/관리 SE38 - 프로그램(리포트) 생성/관리 SE11 - 테이블/구조체 등 모든 데이터 타입 관리 SE16N - 테이블 데이터 관리 도구 Workzone login https://workzone.one.int.sap/site#workzone-home&/groups https://workzone.one.int.sap/site#workzone-home&/groups workzone.one.int.sap

[알고리즘/메모] C++ STL sort compare 함수 템플릿

개요 #include 에 sort 함수 내 comapre 함수에 대한 코드 예제입니다. 코드 템플릿 compare에서 참을 반환하는 조건을 기준으로 정렬됩니다. sort(target.begin(), target.end(), compare); #1 compare 예제 a < b 기준, 즉 올림차순으로 정렬됩니다. bool compare(int a, int b){ if(a < b){ return true; } return false; } #2 compare 예제 a 벡터 내 1번째 원소와 b 벡터 내 1번째 원소를 기준으로 올림차순 정렬 bool compare(vector a, vector b){ if(a[1] < b[1]){ return true; } return false; } #3 compare 예제 ..

컴퓨터공학 2023.10.19

[C++] 우선순위 큐 priority_queue

개요 C++ queue 라이브러리에서 제공 push 수행 시 원소를 일반적인 큐와 달리 특정한 우선순위에 배정하는 자료구조 우선순위 큐와 동일한 원리로 자료구조 Heap 존재 Dijkstra 알고리즘에 자주 활용 활용 #1 int 원소를 가지는 힙 (heap) 가장 큰 원소가 top에 위치 #include ... priority_queue PQ; PQ.push(3); PQ.push(1); PQ.push(2); cout class priority_queue; A priority queue is a container adaptor that provides constant time lookup of the largest (by default) element, at the expense of logarit en..