프로그래머스(Python) 풀이/Level.2 59

프로그래머스(Python) 17677번 [1차] 뉴스 클러스터링 풀이

Python으로 구현한 17677번 [1차] 뉴스 클러스터링 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr def solution(str1, str2) : update_str1 = [] for i in range(len(str1) - 1) : if str1[i].isalpha() and str1[i+1].isalpha() : temp_str1 = str1[i:i+2]...

프로그래머스(Python) 77485번 행렬 테두리 회전하기 풀이

Python으로 구현한 77485번 행렬 테두리 회전하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr def rotate(data, start_x, start_y, end_x, end_y) : info = [data[start_x-1][start_y-1]] # start_x 열 for i in range(start_y, end_y) : info.append(data[st..

프로그래머스(Python) 12973번 짝지어 제거하기 풀이

Python으로 구현한 12973번 짝지어 제거하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr def solution(s) : stack = [] for value in s : if not stack : stack.append(value) else : if stack[-1] == value : stack.pop() else : stack.append(value) if sta..

프로그래머스(Python) 42626번 더 맵게 풀이

Python으로 구현한 42626번 더 맵게 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr import heapq def solution(scoville, K) : answer = 0 target = [] for value in scoville : heapq.heappush(target, value) while target[0] < K : try : heapq.heappush(..

프로그래머스(Python) 12899번 124 나라의 숫자 풀이

Python으로 구현한 12899번 124 나라의 숫자 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr def solution(n) : answer = '' while n > 0 : if n % 3 == 0 : answer += str(4) n = n // 3 - 1 else : answer += str(n % 3) n = n // 3 return answer[::-1] 1. 3진법을 사용하며, n이 0 이하가 될 때까지 while문을 통해 반복 작업을 수행한다. 작업은 아래와 같다. - 만약 현재의 n 값이 3의 배수일 경우 answer에 4를 이어붙이고 n을 ..

프로그래머스(Python) 42747번 H-Index 풀이

Python으로 구현한 42747번 H-Index 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr def solution(citations) : answer = 0 for count in range(1, len(citations) + 1) : up, down = 0, 0 for i in range(len(citations)) : if citations[i] >..

프로그래머스(Python) 12939번 최댓값과 최솟값 풀이

Python으로 구현한 12939번 최댓값과 최솟값 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12939 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를 programmers.co.kr def solution(s) : answer = '' s = list(map(int, s.split())) answer += str(min(s)) + " " answer += str(max(s)) return answer 1. 전달받은 s 문자열을 공백으로 기준으로 ..

프로그래머스(Python) 12945번 피보나치 수 풀이

Python으로 구현한 12945번 피보나치 수 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12945 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr def solution(n): answer = [0, 1, 1] for i in range(3, n + 1) : answe..

프로그래머스(Python) 12949번 행렬의 곱셈 풀이

Python으로 구현한 12949번 행렬의 곱셈 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12949 코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr def solution(arr1, arr2) : row = len(arr1) col = len(arr2[0]) answer = [[0] * col for _ in range(row)] for i in range(row) : for j in range(col) : for k in r..

프로그래머스(Python) 12951번 JadenCase 문자열 만들기 풀이

Python으로 구현한 12951번 JadenCase 문자열 만들기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12951 코딩테스트 연습 - JadenCase 문자열 만들기 JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고 programmers.co.kr def solution(s) : answer = '' for i in range(len(s)) : if i == 0 : if s[i].isnumeric() : answer += s[i] continue else : answer += s[i..