목록프로그래머스 (32)
이숭간 공부기록
https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제유형 : 2차원배열, 구현 문제풀이 : 이 문제의 핵심은 기존 lock배열을 expand해서 확장된 배열을 만드는 것이다. 확장된 배열의 정중앙에 기존 lock이 위치한다. 확장된 배열 위에서 key를 이동시키는것이다. 얼만큼 확장시키나? new_n = (3*n)-2 만큼 확장시킨다 (key는 항상 lock크기 이하인데, key가 가장 클때, 즉 lock의 크기와 같을때 좌측상단에 key를 위치시켰을때 우측..
https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문제유형 : 문자열, 구현 공식사이트에 나와있는 출제의도 : 문자열을 다룰 수 있고, 아래 예시와 같이 문자열과 관련된 다양한 작업을 할 수 있는지 파악 문자열 자르기 부분 문자열 얻기 문자열 비교하기 문자열 길이 얻기 문제풀이 : 우선 이 문제는 문자열의 길이가 최대 1000이므로 모든 가능한 압축을 전부 해보는 완전탐색문제이다. 길이가 줄어들수있는 ..
https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제유형 : 구현, 재귀 문제풀이 : 문제에서 주어진 로직을 그대로 구현할 수 있느냐 없느냐 재귀함수를 잘 이해해야한다. 괄호가 짝이 맞는지 체크할때는 스택을 이용한다. 괄호가 열릴때마다 스택에 넣고 괄호가 닫힐때마다 스택에서 빼면된다. 이때 닫힌 괄호가 나와서 스택에서 하나 빼려할때 스택이 비었다면, 즉 열리지도 않았는데 닫히려고한다는것이므로 짝 안맞음 이 문제..
https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제유형 : 문자열, 구현 문제풀이 : 주어진 orders에 따라서 해당하는 각각의 개수만큼의 조합을 찾는다. 예를들어, 주어진 배열이 ["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"],[2,3,4] 일때 // 각 원소에 대해서 차례로 2개개수 조합, 3개개수 조합, 4개개수 조합 [('A', 'B'), ('A', 'C'), (..
https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제유형 : 문자열, 구현 문제풀이 : 정규표현식 문자열(알파벳소문자, 알파벳ㄷ문자, 숫자, - ,_, . 를 제외한(^) 모든문자 제거하기 new_id = re.sub(r"[^a-zA-Z0-9-_.]", "", new_id) 문자열 양쪽끝 특정문자 제거 strip() : 파라미터없을때는 공백을제거, 특정문자를 제거하고싶으면 해당문자를 파라미터로 주면됨 ..
https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 문제유형 : 스택/큐, 구현 문제풀이 : 문제구분은 스택/큐로 되어있는데 나는 이중반복문으로 O(n^2)으로 풀었다.. ( 근데 왜 효율성 통과된거지..?) 풀이관점에서보면 돈이 떨어지는 지점에서, 그 지점도 포함시켜서? 시간을 계산해야한다는것만 주의하면 된다. 스택을 사용한 더 빠르고, 문제출제 취지에 맞는 풀이가 있었..