본문 바로가기

분류 전체보기

(2341)
(C++) - LeetCode (easy) 1694. Reformat Phone Number https://leetcode.com/problems/reformat-phone-number/description/문자열을 formatting하는 문제였습니다.📕 풀이방법📔 풀이과정1. number에서 '-'와 ' '를 제거한 filter된 number를 반환하는 getFilteredNum을 구현해 지역변수 filteredNum을 선언 후 결과값을 저장해줍니다.2. filteredNum에서 필요한 reformat을 진행한 결과를 반환하는 함수 getReformatNum을 구현해줍니다.  2-1. filteredNum에 대해 for loop를 수행하며 3개씩 끊어만든 문자열 뒤에 '-'를 달아주는데, overflow가 나지 않도록 주의하며 남은 문자열이 4개인 경우에는 3개씩이 아닌 2개씩 끊어 연결한..
(SQL) - LeetCode (easy) 1693. Daily Leads and Partners https://leetcode.com/problems/daily-leads-and-partners/description/group by와 distinct를 사용해본 문제였습니다.📕 풀이방법📔 풀이과정date_id, make_name에 대해 group화를 진행한 후 lead_id, partner_id의 unique 값을 count해 select해줍니다.📕 Code📔 MySQLselect date_id, make_name, count(distinct lead_id) as unique_leads, count(distinct partner_id) as unique_partnersfrom dailysalesgroup by date_id, make_nameorder by date_id desc📔 Oracl..
(C++) - LeetCode (easy) 1688. Count of Matches in Tournament https://leetcode.com/problems/count-of-matches-in-tournament/description/토너먼트의 경기 수를 구하는 문제였습니다.📕 풀이방법📔 입력 및 초기화현 round의 team 수 teams, 진행한 총 경기수 matches를 각각 n, 0으로 초기화해줍니다.📔 풀이과정teams가 1초과인 동안 round를 while loop를 수행하며 매 loop별로 다음을 진행합니다.1. 현 round의 match수는 teams / 2만큼입니다. 이를 지역변수 roundMatch를 선언해 값을 저장합니다.2. roundMatch만큼 경기를 진행했으므로 matches에 해당 값을 누적해 더해줍니다.3. 다음 round의 teams는 tournament를 진행해 각 ..
(C++) - LeetCode (easy) 1684. Count the Number of Consistent Strings https://leetcode.com/problems/count-the-number-of-consistent-strings/description/문자열 비교 및 찾는 문제였습니다.📕 풀이방법📔 입력 및 초기화허용된 문자로만 이루어져 있는 문자열의 개수 count를 선언 후 0으로 초기화해줍니다.📔 풀이과정words에 대해 for loop를 수행하며 내부 지역변수 isAllowed = 1로 선언해줍니다.1. 각 word의 문자에 대해 for loop를 수행해 비허용된 문자가 있는지 확인해 존재한다면 isAllowed = 0으로 바꿔준 후 break합니다.2. isAllowed라면 count를 1씩 추가해줍니다.📔 정답 출력 | 반환count를 반환합니다.📕 Code📔 C++class Soluti..
(SQL) - LeetCode (easy) 1683. Invalid Tweets https://leetcode.com/problems/invalid-tweets/description/문자열의 길이를 세는 간단한 문제였습니다.📕 풀이방법📔 풀이과정content의 length 가 15 초과하는 id들을 select해줍니다.📕 Code📔 ANSI SQLselect tweet_id as tweet_id from tweetswhere length(content) > 15*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
(C++) - LeetCode (easy) 1678. Goal Parser Interpretation https://leetcode.com/problems/goal-parser-interpretation/description/간단 문자열 다루기 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 ans, 단어를 만들 문자열 piv를 선언해줍니다.📔 풀이과정command의 원소를 for loop를 수행하면서 piv에 문자열을 붙여줍니다.piv가 G, (), (al)인 경우 각자 변환된 문자열을 piv에 저장해줍니다.📔 정답 출력 | 반환ans를 반환합니다.📕 Code📔 C++class Solution {public: string interpret(string command) { string ans, piv; for(auto c : command) { ..
(C++) - LeetCode (easy) 1672. Richest Customer Wealth https://leetcode.com/problems/richest-customer-wealth/간단 loop 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 maxWealth 선언 후 0으로 초기화해줍니다.📔 풀이과정accounts의 각 계정별로 wealth를 구해 maxWealth와 최댓값 비교 후 큰 값을 maxWealth에 저장합니다.📔 정답 출력 | 반환maxWealth를 반환합니다.📕 Code📔 C++class Solution {public: int maximumWealth(vector>& accounts) { int maxWealth = 0; for(auto acc : accounts) { int wealth = 0; ..
(SQL) - LeetCode (easy) 1667. Fix Names in a Table https://leetcode.com/problems/fix-names-in-a-table/description/문자열을 다뤄보는 문제였습니다.📕 풀이방법📔 풀이과정첫 글자와 나머지 글자로 나눠 첫 글자는 대문자로, 나머지 글자는 소문자로 바꾼 결과를 CONCAT처리해 select해줍니다.📕 Code📔 MySQLSELECT user_id, CONCAT(UPPER(SUBSTRING(name FROM 1 FOR 1)), LOWER(SUBSTRING(name FROM 2))) AS nameFROM UsersORDER BY user_id;📔 OracleSELECT user_id, UPPER(SUBSTR(name, 1, 1)) || LOWER(SUBSTR(nam..