본문 바로가기

분류 전체보기894

C++ ] leetCode 2482 - Difference Between Ones and Zeros in Row and Column 리트코드 2482 문제 You are given a 0-indexed m x n binary matrix grid. A 0-indexed m x n difference matrix diff is created with the following procedure: Let the number of ones in the ith row be onesRowi. Let the number of ones in the jth column be onesColj. Let the number of zeros in the ith row be zerosRowi. Let the number of zeros in the jth column be zerosColj. diff[i][j] = onesRowi + onesColj - ze.. 2024. 3. 6.
C++ ] leetCode 2545 - Sort the Students by Their Kth Score 리트코드 2545 문제 There is a class with m students and n exams. You are given a 0-indexed m x n integer matrix score, where each row represents one student and score[i][j] denotes the score the ith student got in the jth exam. The matrix score contains distinct integers only. You are also given an integer k. Sort the students (i.e., the rows of the matrix) by their scores in the kth (0-indexed) exam .. 2024. 3. 4.
Git ] Cherry-pick 기능 사용하기 Git Cherry-pick Git cherry-pick은 특정 커밋을 현재 브랜치로 가져오는 데 사용되는 명령어이다. 이 기능은 다른 브랜치의 커밋을 현재 작업 중인 브랜치에 적용하고 싶을 때 유용하다. 예를 들어 master 브랜치에서 dev/featureA, dev/featureB 브랜치를 만들어 각 기능을 작업하고 있었는데 dev/featureA에서의 버그 수정이나 특정 기능 개선 작업을 한 것을 dev/featureB 브랜치에도 반영하고 싶을 때 사용할 수 있다. 다만, 이 기능을 유용하게 쓰려면 평소 커밋을 특정 기능이나 수정사항 단위로 잘해놔야한다. 1. 특정 커밋 적용하기 git cherry-pick c0a1b2c3 2. 여러 커밋 적용하기 git cherry-pick c0a1b2c3 d4.. 2024. 3. 3.
C ] leetCode 2125 - Number of Laser Beams in a Bank 리트코드 2125 문제 Anti-theft security devices are activated inside a bank. You are given a 0-indexed binary string array bank representing the floor plan of the bank, which is an m x n 2D matrix. bank[i] represents the ith row, consisting of '0's and '1's. '0' means the cell is empty, while'1' means the cell has a security device. There is one laser beam between any two security devices if both condi.. 2024. 3. 2.
C++ ] std::pair 사용법 C++에서 pair는 두 개의 값을 하나의 단위로 묶을 때 유용한 STL(Standard Template Library)의 일부이다. pair를 사용하면 문자열과 정수, 정수와 정수 등 다양한 데이터 타입의 두 값을 쌍으로 묶어 쉽게 관리할 수 있다. 1. std::pair 사용을 위한 헤더 포함 #include std::pair는 utility 헤더를 포함시키면 사용할 수 있지만 이미 vector나 map, algorithm 같이 자주쓰는 헤더에 utility 헤더가 포함되어 있기 때문에 별도로 utility 헤더를 포함시키지 않아도 쓸 수 있는 경우가 많다. 2. pair 생성하고 요소에 접근하기 #include #include #include using namespace std; int main().. 2024. 3. 1.
Git ] stash 기능 사용하기 StashGit stash는 작업중이던 코드를 임시로 저장하는 데 사용되는 기능이다.이 기능을 사용하면 작업 중인 변경사항을 임시로 저장해두고, 깨끗한 디렉토리 상태로 되돌린 후 나중에 필요할때 다시 변경사항을 불러올 수 있기 때문에 하던 작업을 잠시 중단해야하는 상황에서 매우 유용하게 사용된다. 개인적으로는 A 브랜치에서 작업을 하다가 B 브랜치로 checkout을 하고 싶은데 커밋하기는 껄끄러울때 자주 사용한다. A 브랜치의 변경사항을 stash 해두고 B 브랜치로 옮겨서 필요한 일을 한 뒤에 다시 A 브랜치로 돌아와서 stash 했던 변경사항을 불러와 작업을 이어갈 수 있다. 이 외에도 a기능과 b기능을 같이작업했는데 각 기능에 관련된 파일만 두번에 걸쳐서 따로 커밋하고 싶을 때 파일별로 일부를 s.. 2024. 2. 29.
C++ ] leetCode 1630 - Arithmetic Subarrays 리트코드 1630 문제 A sequence of numbers is called arithmetic if it consists of at least two elements, and the difference between every two consecutive elements is the same. More formally, a sequence s is arithmetic if and only if s[i+1] - s[i] == s[1] - s[0] for all valid i.   For example, these are arithmetic sequences: 1, 3, 5, 7, 9 7, 7, 7, 7 3, -1, -5, -9  The following sequence is not arithmetic.. 2024. 2. 28.
C ] leetCode 1561 - Maximum Number of Coins You Can Get 리트코드 1561 문제 There are 3n piles of coins of varying size, you and your friends will take piles of coins as follows: In each step, you will choose any 3 piles of coins (not necessarily consecutive). Of your choice, Alice will pick the pile with the maximum number of coins. You will pick the next pile with the maximum number of coins. Your friend Bob will pick the last pile. Repeat until there are.. 2024. 2. 26.
1번 핀 찾는 법 보드와 IC, 커넥터와 케이블에서 1번 핀을 빠르게 찾는 법을 알아보자 보드 회로 기반에 실크레이어로 핀 번호가 인쇄되어 있는 경우는 가장 찾기 쉬운 케이스이다. 위의 방법으로 찾을 수 없을 땐 회로기판이나 어댑터를 뒤집어 까서 납땜 모양을 살펴보자. 일반적으로 다른 핀의 납땜 모양은 둥글지만 1번 핀의 납땜은 정사각형 모양으로 되어있다. IC 칩 IC 칩에서 컷 마크인 노치를 발견하면 노치가 왼쪽에 위치하도록 방향을 돌려주고 그 때 1번 핀은 노치 바로 아래에 있는 왼쪽 하단 핀이며, 이 핀부터 반시계방향으로 숫자가 부여된다. 보통 노치 대신 1번핀과 가장 가까운 코너에 작은 원형 모양의 도트가 있는 경우도 있는데 이때도 읽는 방법은 동일하다. 리본 케이블 보통 리본 케이블의 1번은 어두운색을 띄기 때.. 2024. 2. 24.
C++ ] leetCode 36 - Valid Sudoku 리트코드 36 문제 Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: Each row must contain the digits 1-9 without repetition. Each column must contain the digits 1-9 without repetition. Each of the nine 3 x 3 sub-boxes of the grid must contain the digits 1-9 without repetition. Note: A Sudoku board (partially filled) could be valid b.. 2024. 2. 22.
C++ ] std::sort 사용법 with 람다식 C++에서 제공하는 표준 라이브러리 함수 std::sort는 벡터, 리스트, 배열 등 다양한 컨테이너를 정렬하는 데 사용된다. 1. algorithm 헤더 포함 #include 2. std::sort 함수 원형 template void sort(RandomIt first, RandomIt last); template void sort(RandomIt first, RandomIt last, Compare comp); first: 정렬을 시작할 범위의 첫 번째 요소를 가리키는 반복자 last: 정렬을 종료할 범위의 마지막 다음 요소를 가리키는 반복자 comp: (optional) 정렬 기준을 제공하는 함수나 함수 객체로 람다식으로 표현될 수 있다 만약 비교함수 comp가 사용자에 의해 제공되지 않은 경우 기.. 2024. 2. 20.
C++ ] string -> char *, char * -> string 변환 C스타일 문자열 char *에서 string으로 변환하거나 반대로 변환하는 법 char * to string const char *pChar ="hello"; string str = pChar; 또는 string str(pChar); char *에서 string으로 바꾸는건 간단하다. = 연산자를 통해 초기화하거나 생성자를 통해 초기화하면 된다. sring to char * string str = "hello"; const char *pChar = str.c_str(); 또는 char buf[str.length() + 1]; strcpy(buf, str.c_str()); string에서 char *로 변환할 때는 string의 수명에 주의해야한다. 위의 변환 방법 중 첫번째 방법의 경우 string 변수.. 2024. 2. 18.
C++ ] leetCode 2785 - Sort Vowels in a String 리트코드 2785 문제 Given a 0-indexed string s, permute s to get a new string t such that: All consonants remain in their original places. More formally, if there is an index i with 0 2024. 2. 16.
C++ 에서 구조체와 클래스의 차이 아래에서 보듯이 C++에서 구조체와 클래스는 사용방법과 기능이 매우 유사하다. C++의 구조체는 멤버함수를 추가할 수도 있으며, 명시적으로 생성자/소멸자를 추가할 수 있고 명시적으로 정의하지 않으면 수명주기에 따라 호출되는 기본 생성자/소멸자가 컴파일러에 의해 제공된다는 점이 클래스와 동일하다. 반면 구조체와 클래스의 주요 차이는 접근제어 지시자의 기본값이 다르다는 것이다. 접근제어 지시자를 따로 명시하지 않고 정의한 경우 구조체는 기본적으로 public 이고, 클래스는 기본적으로 private이다. #include using namespace std; struct Point { int x; int y; Point(int _x, int _y) : x(_x), y(_y) { cout 2024. 2. 14.
C언어 ] leetCode 2 - Add Two Numbers leetCode 2 문제 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. Example 1: Input: l1 = [2,4,3], l2 = [5,6,4] Output: [7,0,8] Expl.. 2024. 2. 12.
C++ ] 벡터의 최대값과 최소값 찾기, max_element, min_element C++에서는 헤더에 포함된 std::max_element와 std::min_element 함수를 사용하여 벡터의 최대값과 최소값을 찾을 수 있다. 리턴값은 가장 큰 또는 가장 작은 원소의 iterator이고 애스터리스크를 붙여 역참조해서 값을 가져올 수 있다. max_element 함수 사용 예시 #include #include #include int main() { std::vector numbers = {10, 5, 8, 3, 12, 7}; auto max_iterator = std::max_element(numbers.begin(), numbers.end()); int max_value = *max_iterator; std::cout 2024. 2. 10.
C++ ] leetCode 807 - Max Increase to Keep City Skyline 리트코드 807 문제 There is a city composed of n x n blocks, where each block contains a single building shaped like a vertical square prism. You are given a 0-indexed n x n integer matrix grid where grid[r][c] represents the height of the building located in the block at row r and column c. A city's skyline is the outer contour formed by all the building when viewing the side of the city from a distan.. 2024. 2. 8.
Excel ] 유연한 셀 참조와 데이터 추출을 위한 OFFSET 함수 엑셀에서 데이터를 다룰 때, 종종 특정 셀로부터 일정 범위만큼 떨어진 위치의 데이터를 가져와야 할 때가 생기는데 이때 OFFSET 함수가 유용하게 사용된다. OFFSET 함수는 지정한 셀에서 상대적인 위치로 이동하여 데이터를 참조하는 데 활용할 수 있다. OFFSET 함수의 기본 구조 =OFFSET(기준셀, 행_오프셋, 열_오프셋, [높이], [너비]) 기준셀: 데이터의 기준이 되는 셀 행_오프셋: 기준셀로부터 이동할 행의 개수를 지정 열_오프셋: 기준셀로부터 이동할 열의 개수를 지정 [높이] (optional): 반환할 범위의 높이를 지정 [너비] (optional): 반환할 범위의 너비를 지정 사용 예시 A1 셀의 값으로부터 +2행 +3열 떨어진 위치의 데이터를 가져오고 싶다면 다음과 같이 사용할 수.. 2024. 2. 6.
Excel ] 몫과 나머지 구하는 함수 몫을 구하는 함수 : QUOTIENT =QUOTIENT(10, 3) 나머지를 구하는 함수 : QUOTIENT =MOD(10, 3) 사용예시 ="몫: " & QUOTIENT(A1, B1) & ", 나머지: " & MOD(A1, B1) 2024. 2. 4.
C언어 ] leetCode 1402 - Reducing Dishes leetCode 1402 문제 A chef has collected data on the satisfaction level of his n dishes. Chef can cook any dish in 1 unit of time. Like-time coefficient of a dish is defined as the time taken to cook that dish including previous dishes multiplied by its satisfaction level i.e. time[i] * satisfaction[i]. Return the maximum sum of like-time coefficient that the chef can obtain after preparing some am.. 2024. 2. 2.
C언어 ] qsort (Quick Sort, 퀵정렬) 함수 사용법 C언어 표준 라이브러리에 포함된 qsort 함수는 퀵 정렬(Quick Sort) 알고리즘을 사용하여 배열을 정렬하는 데에 사용된다. 아래는 qsort 함수의 사용법에 대한 예시이다. 1. 헤더 파일 include qsort 함수를 사용하려면 stdlib.h 헤더 파일을 포함해야 한다. #include 2. 비교 함수 작성 qsort 함수를 사용하기 위해선 정렬을 위해 사용할 비교 함수를 만들어야 하며, 이 함수는 두 요소를 받아들여 비교한 결과를 반환해야 한다. 반환값이 음수, 0, 양수인지에 따라 정렬의 순서가 결정된다. 비교 함수의 반환값이 양수면, qsort 함수는 두 요소의 순서를 바꾼다. int compare(const void *a, const void *b) { // 비교 로직 작성 retu.. 2024. 1. 30.
C언어 ] leetCode 3016 - Minimum Number of Pushes to Type Word II leetCode 3016 문제 You are given a string word containing lowercase English letters. Telephone keypads have keys mapped with distinct collections of lowercase English letters, which can be used to form words by pushing them. For example, the key 2 is mapped with ["a","b","c"], we need to push the key one time to type "a", two times to type "b", and three times to type "c" . It is allowed to remap .. 2024. 1. 28.
TortoiseGit ] 두 커밋 간 비교 TortoiseGit 사용 두 커밋 간 비교 프로젝트 폴더에서 마우스 우클릭 > TortoiseGit > Show Log Shift를 누른 상태에서 비교하려는 두 커밋을 선택하고 우클릭 > Compare revisions 2024. 1. 26.
Wireshark에서 캡쳐시 UDP/TCP 데이터 뒤에 00 패딩이 붙는 이유 Wireshark에서 캡쳐시 UDP/TCP 데이터 뒤에 0으로 채워진 패딩이 붙는 이유에 대해서 아래 글을 보고 궁금증을 해결했다. https://stackoverflow.com/questions/45263480/udp-is-adding-bytes-to-end-of-datagram UDP is adding bytes to end of datagram? I have a Linux UDP Server written in C and I am sending a UDP datagram of 16 bytes. All the data is received correctly by the client, but the wireshark log is showing that two extra bytes are being..... 2024. 1. 24.
CCS ] Invalid project path: Missing project folder or file 해결법 .cproject 파일을 열어 해당 경로에 대한 참조를 수동으로 삭제해주면 된다. 관련 TI forum 글 : https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/529029/invalid-project-path https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/912807/ccs-msp430f5659-38-warnings-of-invalid-project-path-after-moving-code-but-compilation-works-fine 2024. 1. 20.
Git ] 이전 커밋의 코드 상태 확인하기 커밋 히스토리를 변경하는게 아니라 이전 커밋의 코드 상태를 확인하려면 다음과 같은 방법으로 가능하다. 1. 이전 커밋으로 이동 git checkout ex) git checkout HEAD~1 # 직전 커밋 참조 위해 이동 2. 최신커밋으로 돌아오기 git checkout - 2024. 1. 18.
Git ] 이전 커밋에서 branch 생성하기 1. 이전 커밋 로그를 확인 git log --oneline 2. 현재 브랜치 확인 git branch 3. 특정 커밋으로부터 새로운 브랜치 생성 git branch ex) git branch feature 9a124ef 4. 새로운 브랜치로 전환 git checkout ex. git checkout feature git checkout 명령어를 사용해 브랜치를 전환하면 해당 브랜치의 헤드로 이동하면서 작업 디렉토리의 파일들도 해당 브랜치의 최신 커밋 상태로 업데이트 된다. 위 경우에는 이전 커밋으로부터 새로운 브랜치를 생성했기 때문에 새로운 브랜치의 HEAD는 이전 커밋을 가리키게 되므로 작업 디렉토리가 해당 커밋의 상태로 변경된다. 혹은 아래 방법으로 위 두 단계를 한번에 할 수 있다. # 새로운 브.. 2024. 1. 16.
성남시 주정차단속 문자알림서비스 성남시 주정차단속 문자알림서비스  http://parkingsms.seongnam.go.kr/WizshotCarControl/new/index.php  거주지와 상관없이 관내를 운행하는 차량에 해당한다.       지역별 온라인 신청방법 http://parkingsms.wizshot.com/www/contents/join_online.php 2024. 1. 14.
애드센스 ] 싱가포르 세금 정보 제공 + 납세자 거주지 증명서 발급 수입액이 100불이 넘었는데 지급이 안되길래 오랜만에 애드센스에 들어가 보니 아래와 같은 이슈로 지급이 홀딩되고 있었다.  애드센스 > 지급 > 지급 정보     아래와 같은 경고 문구가 뜬다. 판매 대금 지급의 지연을 방지하고 정확한 금액이 세금으로 원천징수될 수 있도록 가능한 한 빨리 싱가포르 세금 정보를 제공해 주세요. 세금정보 추가 클릭       세금정보 추가 클릭      양식 시작 클릭    비즈니스 정보 > 개인/개인 사업자 싱가포르에 고정 사업장이 있나요 ? > 아니오 해외 공급자 등록 제도에 따라 싱가포르 상품서비스세(GST)를 등록했나요? > 아니오         면세 대상인가요? 여기서 방법이 두 가지로 나뉜다.  1. 예를 선택하고 납세자 거주지 증명서 제출2. 아니오를 선택하고 .. 2024. 1. 13.
애드센스 ] 미국 세금 정보 양식 제출 애드센스 미국 세금 정보 양식 제출하기  애드센스 > 지급 > 지급 정보     설정 > 설정 관리 결제 프로필 > 미국 세금 정보 > 편집 버튼 클릭하여 세금 양식 시작   계좌 유형은 무엇인가요? > 개인 미국 시민 또는 거주자인가요? > 아니요 W-8 세금 양식 유형을 선택하세요. > W-8BEN  W-8BEN 양식으로 이동 클릭       수익권자에 해당하는 개인의 이름 > 영문 대문자로 입력 시민권을 보유한 국가/지역 > 대한민국 선택  다음 클릭     거주 국가/지역 > 대한민국 도/시 > 도/시 선택 시/군/구 > 시/군/구 선택 주소 > 구 선택(선택사항) 상세 주소 > 네이버 영문 주소 변환을 사용하여 영문 주소 입력 동, 호 등 > 몇 동, 몇 호 입력 우편번호 > 우편번호 입력  우.. 2024. 1. 12.