전체 글 (2344) 썸네일형 리스트형 (C++) - LeetCode (easy) 1640. Check Array Formation Through Concatenation https://leetcode.com/problems/check-array-formation-through-concatenation/description/전수조사 문제였습니다.📕 풀이방법📔 입력 및 초기화key는 각 조각의 시작 숫자, value는 그 조각의 내용을 저장할 unordered_map pieceMap을 선언 후 값을 저장합니다.📔 풀이과정arr의 원소에 대해 for loop를 수행합니다.1. pieceMap에 arr원소값이 없다면 조각을 이용해 arr을 만들 수 없으므로 false를 반환합니다.2. 있다면 해당 조각 내용을 pieceMap에서 찾아 지역변수 piece를 선언 후 저장합니다. 이후 piece의 원소를 순회하며 arr과 순서가 맞는지 비교해 맞지 않다면 false를 반환합니.. (C++) - LeetCode (easy) 1637. Widest Vertical Area Between Two Points Containing No Points https://leetcode.com/problems/widest-vertical-area-between-two-points-containing-no-points/description/정렬 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 maxWidth를 선언 후 0으로 초기화합니다.📔 풀이과정* y축의 높이는 무한하다고 가정했으므로 인접 봐표의 x좌표 사이 거리 중 최댓값을 구하면 됩니다. 1. 먼저 x축에 대해 오름차순으로 정렬해줍니다.2. points에 대해 for loop를 수행하며 인접 x좌표 사이 거리의 최댓값을 maxWidth에 저장합니다.📔 정답 출력 | 반환maxWidth를 반환합니다.📕 Code📔 C++class Solution {public: int maxWidth.. (C++) - LeetCode (easy) 1636. Sort Array by Increasing Frequency https://leetcode.com/problems/sort-array-by-increasing-frequency/description/📕 풀이방법📔 입력 및 초기화원소와 빈도수를 저장할 map freqMap을 static 선언 후 frequencySort함수 호출시마다 clear해주고 nums의 원소별 빈도수를 저장합니다.📔 풀이과정빈도수에 대한 오름차순, 빈도수가 같다면 숫자가 큰 순으로 내림차순 정렬을 구현해 sort함수의 3번째 인자로 넘겨 정렬 해줍니다.📔 정답 출력 | 반환정렬된 nums를 반환합니다.📕 Code📔 C++class Solution { static map freqMap;public: static bool cmp(int a, int b) { if.. (C++) - LeetCode (easy) 1633. Percentage of Users Attended a Contest https://leetcode.com/problems/percentage-of-users-attended-a-contest/description/group by와 집계함수를 사용해본 문제였습니다.📕 풀이방법📔 풀이과정두 table을 join하지 않고 contest_id를 group by로 percentage를 계산해 select해줍니다.📔 정답 출력 | 반환📕 Code📔 ANSI SQLSELECT r.contest_id, ROUND(COUNT(DISTINCT r.user_id) / (SELECT COUNT(*) FROM Users) * 100.0, 2) AS percentageFROM Register rGROUP BY r.contest_idORDER BY pe.. (C++) - LeetCode (easy) 1629. Slowest Key https://leetcode.com/problems/slowest-key/description/간단 구현 문제였습니다.📕 풀이방법📔 입력 및 초기화1. 정답 구조체 Answer에 가장 길게 눌린 문자 character와 눌린 시간 duration을 가진 ans를 선언해 keysPressed, releaseTimes의 0번째 값을 넣어줍니다.2. 정보가 입력된 길이 size를 선언 후 값을 적절히 저장합니다.📔 풀이과정size만큼 for loop를 수행합니다. 1. 현재 문자 curChar가 눌린 duration이 ans.duration 이상이라면 값을 갱신해줘야합니다. 1-1. 같은 duration이라면 더 큰 값의 문자를 ans.character에 저장합니다. 이외의 경우 현재 문자를 ans.. (C++) - LeetCode (easy) 1624. Largest Substring Between Two Equal Characters https://leetcode.com/problems/largest-substring-between-two-equal-characters/📕 풀이방법📔 입력 및 초기화1. alphabat별 index를 저장할 map 변수 alphaIndexMap을 선언해 줍니다.2. 정답 변수 ans를 선언 후 -1로 초기화합니다.📔 풀이과정s에 대해 for loop를 수행합니다.1. 한 번이라도 나온 적 있는 alphabat이라면 두 문자의 거리는 i - 해당index - 1이므로 ans와 거리 값 중 최댓값을 저장해줍니다.2. 한 번도 나온 적 없다면 최초의 alphabat의 index를 저장해줍니다.📔 정답 출력 | 반환ans를 반환합니다.📕 Code📔 C++class Solution {public: .. (C++) - LeetCode (easy) 1619. Mean of Array After Removing Some Elements https://leetcode.com/problems/mean-of-array-after-removing-some-elements/description/📕 풀이방법📔 입력 및 초기화1. 오름차순으로 arr를 정렬해줍니다.2. arr에서 5%에 해당하는 값을 removeCnt에 저장해줍니다.3. 정답변수 avg를 선언 후 0으로 초기화해줍니다.📔 풀이과정arr의 원소를 순회하며 removeCnt ~ arr.size()-removeCnt-1까지 loop를 수행하며 arr의 원소를 avg에 더해줍니다.📔 정답 출력 | 반환removeCnt * 2만큼의 수를 제했으므로 avg에서 arr크기 - (removeCnt * 2) 값으로 나눠 평균을 반환합니다.📕 Code📔 C++class Solution {.. (C++) - LeetCode (easy) 1614. Maximum Nesting Depth of the Parentheses https://leetcode.com/problems/maximum-nesting-depth-of-the-parentheses/description/stack을 이용한 문제였습니다.📕 풀이방법📔 입력 및 초기화정답 변수 depth와 stack st를 선언 후 적절히 초기화해줍니다.📔 풀이과정( 부터 )까지는 하나의 depth 범위라고 할 수 있습니다. 따라서 (인 경우 stack에 넣고 )인 경우 stack에 남아있는 열린 괄호 (의 개수가 현재 범위의 depth가 됩니다.1. s의 문자에 대해 for loop를 수행합니다. 1-1. 닫힌 괄호 )라면 depth와 stack의 size를 비교해 더 큰 값을 저장해줍니다. 이후 계산이 완료되었으므로 stack에서 (를 pop해줍니다. 1-2. 열린.. 이전 1 ··· 48 49 50 51 52 53 54 ··· 293 다음