문제출처 - 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..
순열(Permutation) 순열은 n개의 원소를 사용해 순서를 정해 r개의 배열로 나타내는 것이다! 순열은 순서가 있기 때문에 원소의 종류가 같아도 순서가 다르면 다른 배열이 된다. Python Permutations Python의 라이브러리를 활용해 순열을 구하는 방법이다. from itertools import permutations a = [1,2,3] permute = permutations(a,2) print(list(permute)) >> 결과 [(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)] 조합(Combination) 조합은 n개의 원소를 사용해 순서의 관계없이 r개의 배열로 나타내는 것이다. 조합은 순서가 없기 때문에 원소의 종류가 같으면 같은 배열이 된다! Pytho..
문제출처 - 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..
- Total
- Today
- Yesterday
- Permutation
- 구현
- BOJ
- 파이썬
- 완전탐색
- 2019 Kakao Blind Recruitment
- 문자열
- 딕셔너리
- 재귀
- 2020 KAKAO BLIND RECRUITMENT
- 코딩테스트
- 우선순위큐
- 스택
- 순열
- SWExpert
- left join
- programmers
- C++
- 해시
- combination
- 힙
- 백준
- SW Expert
- 정렬
- hash
- 문자열처리
- 괄호
- Python
- 프로그래머스
- dictionary
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |