전체 글

안녕하세요, 데이터 분석가를 꿈꾸는 개인기록 블로그입니다:)
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 주어진 문자열을 모두 숫자로 바꾸는 문제이다. 예를 들어, "one4seveneight"과 같은 문자열이 주어질 때, 이를 1478로 반환하면 된다.  처음 풀이 (오답)def solution(s): answer = [] dict = { 'zero' : 0, 'one' : 1, 'two' : 2, 'three' : 3, ..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제를 보고 처음 든 생각이 그리디 알고리즘 문제라는 것이였다!그리디 알고리즘은 현재 상황에서 당장 좋은 것만 고르는 방법이다.  내 풀이최대한 많은 부서를 지원해줘야 하기 때문에, 작은 예산을 가진 팀들부터 차례대로 지원해서 최대한 많은 부서를 찾으면 된다. 즉, 주어진 d 배열을 오름차순 정렬한 뒤, 각 값을 차례대로 더해, 이 값이 전체 예산보다 작으면 answer을 더하는 식으로 진행..
대표적인 그래프 탐색 알고리즘에는 DFS와 BFS가 있습니다. 여기서 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말하며, DFS와 BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 하는 부분입니다. 특히, 국내 대기업 공채에서는 DFS와 BFS를 적절히 활용해야 하는 문제를 많이 출제하고 있습니다.  DFS와 BFS를 보기에 앞서 반드시 알아야하는 자료구조에 대해 알아보겠습니다. 스택 자료구조먼저, 스택은 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조 입니다. 즉, 입구와 출구가 동일한 형태로 가장 대표적인 예시로는 박스 쌓기 예시를 들 수 있죠. 여러 개의 박스를 쌓아야 할 때, 가장 아래부터 박스를 쌓아올립니다. 그 후, 박스를 제거할 때는 가..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이 (오답)처음에는 주어진 리스트를 문자열로 바꿔서, 햄버거를 만들 수 있는 문자를 제거하려 했다. # 빵 – 야채 – 고기 - 빵 (1, 2, 3 -> 빵, 야채, 고기)def solution(ingredient): answer = 0 # 햄버거를 만드는 순서는 1 -> 2 -> 3 -> 1 ham = '1231' # 주어진 리스트를 string으로 변경..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  내 풀이def solution(arr): # answer의 초기값을 arr의 첫 번째 값으로 answer = [arr[0]] for i in range(len(arr)): # arr 원소와 answer의 직전 값이 같지 않으면 arr 원소 삽입 if arr[i] != answer[-1]: answer.append(arr[i]) ..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12950 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr '행렬'이라는 단어를 보자마자, numpy가 생각났다. 분명 문제에서 원하는 풀이는 아닐 것 같지만, numpy를 이용하면 행렬 연산을 쉽게 구할 수 있기 때문이다!  첫 번째 풀이import numpy as npdef solution(arr1, arr2): # numpy 배열로 변환 후 계산 a1 = np.array(arr1) a2 = np.array(arr2) ret..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제에서 주어진대로 구현하면 되는 문제이다.  내 풀이import mathdef solution(n): answer = 0 if math.sqrt(n) == int(math.sqrt(n)): answer = (math.sqrt(n) + 1) ** 2 else: answer = -1 return answer math 라이브러리를 임포트하여, sqr..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이SELECT CAR_TYPE, COUNT(car_id) AS CARSFROM CAR_RENTAL_COMPANY_CARWHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%'GROUP BY CAR_TYPEORDER BY CAR_TYPE; 쉬운 문제이지만, 유의할 점은 OPTI..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 풀다가 잘 안되는 부분이 있어서 다른 사람의 풀이를 보고 푼 문제이다. "입출력 예 설명"에 나온대로 구현하면 되는 문제이다.   풀이keymap 안에는 여러 개의 키가 존재한다. 첫 번째 입출력 예에 따라 알아보자면, ABACD는 1번, BCEFD는 2번으로 잡을 수 있다. 이제 ABCD라는 문자열을 만들어보자. 1번 키에서 1번을 눌러 A 작성2번 키에서 1번을 눌러 B 작성..
문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 내 풀이틀린 풀이SELECT CAR_ID, CASE WHEN (END_DATE >= '2022-10-16' AND START_DATE  처음에는 위와 같이 풀었다. 하나의 CAR_ID에 대하여 대여 기록이 여러개 있으므로, GROUP BY를 통해 그룹화를 해주었는데, 사실 풀면서도 뭔가 그룹화에 대한 조건이 필요할듯 했는데, 대여 기록을 기준으로 하기에도 애매하고, 뭔가 다 애매해서 ..
_알파카
yeonnys' 개발일지