개발자취업 7

99클럽 코테 스터디 37일차 TIL + 스택/큐(Minimum Add to Make Parentheses Valid)

오늘의 과제리트코드 medium으로 분류된 Minimum Add to Make Parentheses Valid 입니다. 이번 유형은 스택/큐 입니다.문제https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/description/  먼저 문제 요구사항 요약입니다. 짝이 맞거나 맞지 않은 괄호가 주어질 때 삽입이나 이동을 통해 온전한 괄호를 만들 수 있는 최소 이동 횟수를 반환하면 됩니다. 문제의 분류가 스택이고 스택 단골 문제인 괄호가 나왔으니 스무스하게 풀어주면 됩니다. 스택 기초 문제로는 짝이 맞는 문자열이라면 true, 맞지 않는다면 false를 반환하는 문제에서 조~금 심화 문제인데 기존의 공식과 똑같이 진행하면 됩니다. 먼저 (를..

99클럽 코테 스터디 35일차 TIL + 스택/큐(Flatten Nested List Iterator)

오늘의 과제리트코드 medium으로 분류된 Flatten Nested List Iterator 입니다. 이번 유형은 스택/큐 입니다.문제https://leetcode.com/problems/flatten-nested-list-iterator/description/  먼저 문제 요구사항 요약입니다. 중첩 가능한 리스트가 주어집니다. 다음 요소를 반환하는 next(), 다음 요소가 있는지를 반한하는 hasNext() 함수를 구현하면 됩니다. 일단 문제의 힌트에 맞게 스택/큐를 사용하여 접근했습니다. 처음 주어지는 nestedList내 요소가 숫자인지, 중첩 List인지 알 수 없기 때문에 일단은 스택에 모두 넣어놓고 숫자면 pop, 아니면 해당 리스트 내 요소를 push하는 방법으로 풀이를 진행했습니다. 먼..

99클럽 코테 스터디 33일차 TIL + 정렬(Reordered Power of 2)

오늘의 과제리트코드 medium으로 분류된 Reordered Power of 2 입니다. 이번 유형도 정렬입니다.문제https://leetcode.com/problems/reordered-power-of-2/description/  먼저 문제 요구사항 요약입니다. 정수가 주어질 때 2의 거듭제곱을 만들 수 있는지 여부를 반환하면 됩니다. 거듭제곱 여부를 쉽게 확인하기 위해 미리 2의 30제곱까지 구해둡니다. 30제곱까지만 구하는 이유는 입력으로 최대 10의 9승(10억)까지만 주어지기 때문입니다. 또한 임의의 정렬이라고 했으나 모두 통일하여 정렬하기 위해 2의 거듭제곱을 오름차순으로 정렬하여 넣어줍니다.List powerOf2Digits = new ArrayList();for (int i = 0; i  ..

99클럽 코테 스터디 32일차 TIL + 정렬(Top K Frequent Elements)

오늘의 과제리트코드 medium으로 분류된 Top K Frequent Elements 입니다. 이번 유형은 정렬입니다.문제https://leetcode.com/problems/top-k-frequent-elements/description/  먼저 문제 요구사항 요약입니다. 문자열이과 정수가 주어지면 문자의 빈도에 따라 내림차순으로 정렬 후 정수만큼 반환해주면 됩니다. 어제의 문자와 완전히 동일하게 풀었습니다. 코드입니다.import java.util.*;class Solution { // 1. num을 센다. // 2. 정렬을 한다. // 3. k만큼 배열에 넣는다. public int[] topKFrequent(int[] nums, int k) { var map = ..

99클럽 코테 스터디 31일차 TIL + 문자열(Sort Characters By Frequency)

오늘의 과제리트코드 medium으로 분류된 Sort Characters By Frequency 입니다. 이번 유형은 문자열 입니다.문제https://leetcode.com/problems/sort-characters-by-frequency/description/  먼저 문제 요구사항 요약입니다. 문자열이 주어지면 문자의 빈도에 따라 내림차순으로 정렬 후 반환하면 됩니다. 입력 제한은 영어 대문자 소문자 숫자로 구성되어 있으며 최대 5 * 10⁵ 길이를 갖고 있으니 O(n²)으로는 풀 수 없습니다. 접근입니다. "문자 빈도"에 따라 문자열을 정렬해야 하니 단순한 생각으로 문자를 먼저 계산합니다. 각 문자에 대한 카운팅은 여러가지 방법이 있겠으나 저는 map을 활용하여 풀이하였습니다. map에서 제공하는 a..

99클럽 코테 스터디 30일차 TIL + 문자열(Minimum Suffix Flips)

오늘의 과제리트코드 medium으로 분류된 Minimum Suffix Flips 입니다. 이번 유형은 문자열 입니다.문제https://leetcode.com/problems/minimum-suffix-flips/description/  먼저 문제 요구사항 요약입니다. 모두 0인 이진 문자열이 있다고 가정하고 이 문자열을 target의 이진 문자열과 일치 시키려면 몇 번의 flip을 해야하는지 반환하면 되는 문제입니다. 문제만 이해하면 이번에도 굉장히 간단히 풀 수 있는 문제입니다. 먼저 반환할 answer 값과 뒤집어야할지 결정할 flip 변수를 선언합니다. 이후에는 주어진 target 문자열을 순회하며 flip 값과 target char 값을 비교하며 뒤집어주면 됩니다. 문제 조건에 보면 i번을 선택하..

99클럽 코테 스터디 3일차 TIL + 스택/큐(기능개발)

오늘의 과제프로그래머스 Lv.2 스택/큐로 분류된 기능개발 문제 입니다. 전날과 마찬가지로 이미 작년에 풀어본 문제이나 복기 차원에서 다시 풉니다. 문제https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  이전과 마찬가지로 문제의 분류인 "스택/큐"에서 힌트를 얻고 시작합니다. 스택은 LIFO(Last In First Out) 구조로 가장 마지막에 입력된 값이 먼저 나오는 구조이며큐는 FIFO(First In First Out) 구조로 들어간 순서대로..