목록CodingTest/Python (74)
기록방
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 신고받아 정지된 유저가 있으면, 신고한 사람에게 알람이간다. 유저들이 받은 알람 수 리스트를 반환한다. 🔸 코드 🔸 def solution(id_list, report, k): answer = {} for i in id_list: # 유저 ID 명단 answer[i] = 0 dic = {} for s in report: # 신고 현황 (중복제거) a, b = s.split() if b in dic.keys(): dic[b].add(a) else: dic[b] = set() dic..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 정답 스킬트리와 유저들의 스킬 트리가 입력된다. 정답 스킬트리와 비교해서 올바르게 찍을 수 있는 유저들의 스킬 트리 수를 리턴한다. 🔸 코드 🔸 def solution(skill, skill_trees): answer = 0 for st in skill_trees: sk_list = list(skill)[::-1] for c in st: if c in skill: if sk_list.pop() != c: break else: answer += 1 return answer 🔸 코드..
👉 문제링크 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 🔸 문제 분석 🔸 지렁이가 퍼지는 범위는 배추가 가로세로로 붙어있는 범위를 뜻한다. 붙어있는 배추 그룹이 몇 개인지 출력한다. 🔸 코드 🔸 import sys from collections import deque dxy = [[0,-1],[-1,0],[0,1],[1,0]] for _ in range(int(sys.stdin.readline())): m, n ,k = map(int, sys.stdin.readline().rstrip().split()) field ..
👉 문제링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔸 문제 분석 🔸 원본 튜플에서 첫 원소는 n번, 마지막 원소는 1번 호출되므로 출현 빈도수로 내림차순 정렬한다. 문자열로 입력되므로 숫자를 뽑아내는 과정이 필요하다. 🔸 코드 🔸 from collections import Counter def solution(s): answer = [] for i in '{},': s = s.replace(i," ") nums = [int(n) for n in s.split()] cnt = Counter(nums) answer = [n for n, _ in cn..
👉 문제링크 1548번: 부분 삼각 수열 세 수 x, y, z가 x+y>z, x+z>y, y+z>x의 관계를 만족하면, 세 수는 삼각관계에 있다고 한다. 마찬가지로 길이가 N인 수열 B(b[0], b[1], ..., b[n-1])의 모든 b[i], b[j], b[k]가 삼각관계에 있으면 이 수열은 삼각 www.acmicpc.net 🔸 문제 분석 🔸 입력받은 리스트의 원소로 만들 수 있는 삼각 수열의 최대 길이를 출력한다. 그리디적인 관점과 브루트포스의 접근이 모두 필요하다. 입력받은 리스트를 오름차순 정렬했을때, arr[i] + arr[i+1] > arr[n] 을 만족하면 i부터 n 사이의 모든 수들도 삼각관계이다. (그리디) 가장 앞이나 가장 뒤를 빼가며 가장 긴 부분 삼각 수열을 찾는다. (브루트포스..