본문 바로가기

전체 글

(1923)
(C++) - LeetCode (easy) 1550. Three Consecutive Odds https://leetcode.com/problems/three-consecutive-odds/description/간단 구현 문제였습니다.📕 풀이방법📔 풀이과정1. arr.size() 2. arr의 원소를 순회하면서 3개의 연속된 원소가 홀 수라면 true를 아니면 false를 반환합니다.* 1번의 이유는 아래 2번이 수행되면서 3개의 연속된 원소를 비교시 arr의 index로 접근하게 되는데, 이 때 overflow가 나지 않기 위함입니다.📕 Code📔 C++class Solution {public: bool threeConsecutiveOdds(vector& arr) { if (arr.size() *더 나은 내용을 위한 지적, 조언은 언제나 환영합..
(C++) - LeetCode (easy) 1544. Make The String Great https://leetcode.com/problems/make-the-string-great/description/ stack을 이용해 해결한 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 stack st, 정답 변수 ans를 선언해줍니다. 📔 풀이과정 1. s의 원소를 수행하면서 다음을 확인해줍니다. 1-1. st에 원소가 있으면 st의 top과 s[i]가 같은지를 확인해 한쪽이 대문자, 다른 한 쪽이 소문자라면 pop 해줍니다. 1-2. 아닌 경우 인접한 부분이 good하므로 st에 push합니다.2. while loop흫 수행하면서 ans에 st의 원소를 넣어줍니다. 이 때 순서에 주의합니다. stack이므로 거꾸로 저장되어 있어 top을 ans의 앞에 문자열을 붙여주면 됩니다. 📔 정답 출력 | ..
(Ubuntu 22) - Ubuntu 잘못 설치해 swap size가 적을 때 멈춤 현상 해결 🍳머리말 아 개발할 때 computer 자꾸 멈춰요 📕설명 📔 Ubuntu에서 RAM 크기 확인하기 개발을 하다가 새 desktop임에도 계속 멈춰서 미동도 하지 않았습니다. 이것저것 하다가 문득 애초에 깔때부터 무심코 넘겼던 option들이 생각나면서 swap size를 작게 설정했음을 기억해 해결했습니다. 📑 free -h 사용 가능한 RAM과 사용 중인 RAM을 표시하는 명령어 입니다. -h option으로 MB 또는 GB가 보이게 가독성을 챙겨줍니다. 📔 Java 개발을 위한 적정 swap 영역 크기 Swap 영역은 system의 RAM이 부족할 때 hard drive의 일부를 가상 memory로 사용해 system memory를 보충하는 역할을 합니다. 주로 RAM크기에 따라 다른데요, 주로 다..
(C++) - LeetCode (easy) 1534. Count Good Triplets https://leetcode.com/problems/count-good-triplets/description/ 간단 전수조사 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 정답변수 triples, arr의 길이 arrLength를 선언한 후 각각 0, arr.size()값을 저장해줍니다. 📔 풀이과정 arr에 대해 3중 for loop를 수행하며 조건에 맞으면 triples를 1씩 더해줍니다. 📔 정답 출력 | 반환 triples를 반환합니다. 📕 Code 📔 C++ class Solution { public: int countGoodTriplets(vector& arr, int a, int b, int c) { int triples = 0, arrLength = arr.size(); for(int i..
(C++) - LeetCode (easy) 1528. Shuffle String https://leetcode.com/problems/shuffle-string/ map 을 이용한 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 key 는 index, value로 문자를 저장할 map 변수 m과 정답 변수 ans를 선언해줍니다. 📔 풀이과정 indices에 대해 loop를 수행하며 현재 위치 indices[i]의 값은 s[i]임을 m에 key, value로 저장해줍니다. 📔 정답 출력 | 반환 ans를 반환해줍니다. 📕 Code 📔 C++ class Solution { public: string restoreString(string s, vector& indices) { map m; string ans; for(int i = 0; i
(SQL) - LeetCode (easy) 1527. Patients With a Condition https://leetcode.com/problems/patients-with-a-condition/ 📕 풀이방법 📔 정답 출력 | 반환 LIKE절을 사용해 DIAB1으로 시작하는 conditions를 select합니다. 📕 Code 📔 ANSI SQL SELECT * FROM patients WHERE conditions LIKE 'DIAB1%' OR conditions LIKE '% DIAB1%'; *더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
(C++) - LeetCode (easy) 1518. Water Bottles https://leetcode.com/problems/count-odd-numbers-in-an-interval-range/description/ 간단 산수 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 정답 변수 ans를 선언해 줍니다. 📔 풀이과정 1. low와 high 사이에는 high - low만큼의 간극이 존재하며 (high - low) / 2개의 홀수가 존재합니다. 2. 따라서 ans의 초기값은 (high - low) / 2에서 low 또는 hight가 홀수라면 ans에 한 개씩 더해주면 됩니다. 📔 정답 출력 | 반환 ans를 반환합니다. 📕 Code 📔 C++ class Solution { public: int countOdds(int low, int high) { int ans = (hi..
(C++) - LeetCode (easy) 1518. Water Bottles https://leetcode.com/problems/water-bottles/description/ 간단 구현 문제였습니다. 📕 풀이방법 📔 입력 및 초기화 먼저 마시고 시작합니다. 정답 변수 drank를 선언해 numBottles만큼 값을 할당합니다. 📔 풀이과정 더 이상 교환 불가할 때까지 while loop를 돌며 다음을 수행합니다. 1. 교환 가능한 물병 개수 exchanged = numBottles / numExchange 입니다. 이를 지역 변수를 선언해 저장합니다. 2. 이외의 물병 개수 surplus = numBottles % numExchange가 됩니다. 이를 지역 변수를 선언해 저장합니다. 3. 교환한 물병 개수만큼 마셔줍니다. 즉, drank에 exchanged값을 누적해 더해줍니..