문제출처 - https://programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(jobs): answer = 0 start = 0 # 현재까지 진행된 작업 시간 length = len(jobs) jobs = sorted(jobs, key=lambda x: x[1]) # 소요시간 우선 정렬 while len(jobs) != 0: for i in range(len(jobs)): if jobs[i][0]
풀이 T = int(input()) for case in range(1, T+1): n = int(input()) name = [input() for _ in range(n)] answer = list(set(name)) answer.sort() answer = sorted(answer, key=len) print("#%d" % case) for ans in answer: print(ans) 정렬을 2번 해줘야 통과되는 문제였다... 1. name을 입력받고 중복되는 값을 제거하기 위해 set으로 바꾼 후 answer에 넣어준다. 2. answer.sort()로 answer를 정렬하면 사전순으로 정렬된다. 3. 다시, answer를 sorted(answer, key=len)으로 정렬하면 길이순으로 정렬된다.
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(N, stages): fail = [[0, idx] for idx in range(N + 1)] # [실패율, 스테이지 번호] stages.sort() temp = stages[0] cnt = 1 for i in range(1, len(stages)): if temp != stages[i]: fail[temp] = [cnt / (len(stages) - i + cnt), t..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import * def checkMinimality(candidate, target): for i in range(len(candidate)): cnt = 0 for j in range(len(candidate[i])): if candidate[i][j] in target: cnt += 1 if cnt == len(candidate[i]): return False ret..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 90도 회전 def rotation(arr): n = len(arr) ret = [[0] * n for _ in range(n)] for i in range(n): for j in range(n): ret[j][n-1-i] = arr[i][j] return ret # 자물쇠가 열리는지 췍 def check(startX, startY, key, lock, expendSize, start, end..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 틀린 풀이1 # 9.6점... # build_frame = [x, y, a, b] # a: 0 = 기둥, 1 = 보 # b: 0 = 삭제, 1 = 설치 def check(frame, ans): # 기둥인 경우 if frame[2] == 0: if frame[1] == 0: # 1. 바닥 위에 있어야댐 return True try: # 2. 보의 한쪽 끝 부분 위에 있어야댐 if ans.index(..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 올바른 문자열인지 췍 def check(p): stack = [] try: for i in p: if i == '(': stack.append('(') else: stack.pop() return True except: return False # u, v로 나누기 def divide(p): count = [0, 0] for i in p: if i == '(': count[0] += 1 else..
문제출처 - https://programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): answer = s minLen = len(s) # 문자열을 1개~len(s)/2개씩 각 단위만큼 잘라서 압축 for unit in range(1, len(s) // 2 + 1): tempAnswer = "" temp = s[:unit] cnt = 1 for i in range(unit, len(s), unit): if temp == s[i:i+unit]: cnt +..
- Total
- Today
- Yesterday
- 파이썬
- 딕셔너리
- 2019 Kakao Blind Recruitment
- 프로그래머스
- 괄호
- dictionary
- 완전탐색
- 힙
- 우선순위큐
- 코딩테스트
- 정렬
- 문자열
- combination
- 해시
- Permutation
- left join
- SW Expert
- SWExpert
- 재귀
- 문자열처리
- 스택
- BOJ
- 순열
- 백준
- hash
- Python
- 2020 KAKAO BLIND RECRUITMENT
- 구현
- programmers
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |