일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- dotenv
- webpack
- 보안
- type
- var
- 앙상블
- C#
- npm
- docker
- condition
- VUE
- TypeScript
- bash
- git
- Clone
- scss
- nginx
- vue.js
- generic
- loop
- property
- JavaScript
- C++
- security
- machine learning
- AI
- leetcode
- Python
- vuetify
- BOJ
- Today
- Total
목록분류 전체보기 (162)
ice rabbit programming
https://leetcode.com/problems/minimum-depth-of-binary-tree/ Minimum Depth of Binary Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 이진 트리에서 최소 깊이를 가진 leaf node의 depth를 구하는 문제이다. 기본적인 BFS 문제라고 생각한다. /** * Definition for a binary tree node. * struct TreeNode { * int val; * Tre..
CI/CD에 직접적으로 연관된 것은 아니지만, Jenkins Job에서 batch파일을 쓰다가 정리하게 되어 이 카테고리에 넣었다. 우리가 흔히 쓰는 //, /**/, # 등으로 주석처리가 되지 않는다. :: REM 두 키워드로 주석 처리가 가능하다.
일전에 한 대기업 인턴에 다닐 때, 개인 과제로 웹 전반을 제작하였었다. 프론트엔드와 백엔드 모두를 개발하다보니 의문점이 들어 당시 멘토였던 차장님께 질문을 했었다. "Client에서 유효성 검사를 했는데, Server에서도 유효성 검사를 해야 하나요?" 당시 답변은, Client를 통하지 않은 request도 Server로 들어올 수 있으니, 해야 한다는 것이었다. 옳다고 생각하여 두 곳 모두에서 유효성 검사를 진행하기는 했지만, Insomnia나 Postman 등을 통한 request 정도로 생각하고 있었는데, 인젝션에 대해서 알게 되면서 그 때의 답을 완벽히 알게 되었고, 유효성 검사의 중요성을 다시금 알게 되었다. SQL 인젝션(Injection) : Client의 입력 값을 조작하여(인증우회) ..
21세기도 벌써 20%가 지난 현재, 프로그래머는 개발 스킬도 중요하지만 그 외적인 요소들도 무시할 수 없다. 형상 관리(Git), 빌드 및 배포(CI/CD), 설계 등 프로세스 전반에 대해 이해가 있어야 한다. 이 카테고리에서는 학부 시절에 듣지 못했던 소프트웨어 공학을 자료를 참고하며 혼자 정리해보려 한다. 소프트웨어 소프트웨어 공학에 앞서 소프트웨어란 무엇일까? 소프트웨어와 하드웨어의 경계가 모호하긴 하지만, 뭉뚱그려 다음과 같이 표현할 수 있겠다. - 프로그램과 프로그램의 개발, 운용, 보수에 필요한 관련 정보 일체 즉, 프로그램 이외의 정보도 중요하며, 점점 발달해가고 복잡해짐에 따라 설계가 중요하게 대두되었다. 설계가 취약하면 구조가 점점 악화되고, 결국 손쓸 수 없는 지경에 이르기 때문이다...
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ Best Time to Buy and Sell Stock - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 배열에서 value 차가 가장 큰 경우를 구하는데, 뺄 때 큰 수는 index가 작은 수보다 뒤여야 한다. 처음에는 단순히 2중 선형 탐색으로 풀까 하다가, 조금 빠른 방법이 없을까 하여 value 및 index 기준으로 정렬한 후에 탐색..
https://www.acmicpc.net/problem/17263 17263번: Sort 마스터 배지훈 지훈이는 Sort 마스터다. 그래서 어떠한 N개의 원소를 가진 배열이 들어오더라도 암산으로 오름차순 정렬을 할 수 있다고 한다. 의심 많은 보성이는 지훈이를 테스트해 보기로 마음먹었다. 하지만 모든 원소를 일일이 다 확인하는 것은 너무 귀찮은 일이라 생각한 보성이는 정렬된 배열의 마지막 원소만 맞는지 확인해 보기로 했다. 보성이를 위하여 마지막 원소를 알려주는 프로그램을 만들어주자. www.acmicpc.net 2019년 학교에서 개최한 문제풀이 대회에 3인 팀으로 출전하였다. 2등과 근소한 차이로 3등에 머물렀지만, 생각지도 않은 수상이어서 꽤 기뻤던 기억이 난다. 이후 경인지역 본선(Shake!)..
지난 글에 이어서 오늘은 Casting과 Boxing/Unboxing에 대해 정리하려 한다. Casting - 묵시적, 명시적 다른 언어를 다루어보신 분들이라면 Casting, 즉 형변환의 개념은 익숙할 것이다. 형변환에는 묵시적(암시적) 형변환과 명시적 형변환이 있다. 말 그대로 명시적은 프로그래머가 코드 상에 적어주는 것이고, 묵시적은 그렇지 않다. int number = 5; double pi = 3.14; number = pi; // 묵시적 형변환, 데이터 손실 발생!! 가장 전형적인 예제는 double을 int에 넣는 예제일 것이다. 위 코드에서는 double 변수를 int에 묵시적으로 넣고 있고, 이 때 데이터 손실이 발생한다. C++에서는 묵시적 형변환 시에 데이터의 손실이 있든 없든, 허용..
https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/ Two Sum II - Input array is sorted - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Two Sum 2탄이다. 이미 정렬된 배열에서, 합이 target과 맞는 인덱스를 반환한다. class Solution { public: vector twoSum(vector& numbers, int target) { vector resu..