문제 https://app.codility.com/programmers/lessons/7-stacks_and_queues/fish/ Fish coding task - Learn to Code - Codility N voracious fish are moving along a river. Calculate how many fish are alive. app.codility.com 문제 풀이 서로 다른 방향으로 물고기가 만나는 경우, 크기가 큰 물고기가 작은 물고기를 잡아먹는다. 이를 위해 하류로 가는 물고기를 stack에 담고, 하류로 가는 물고기들과 만나면 크기를 비교하여 물고기를 제거한다. 같은 방향으로 향하는 물고기들은, 속도가 같기에 만날 수 없다는 제한 조건을 가지고 있다. 코드 def solut..
문제 https://app.codility.com/programmers/lessons/7-stacks_and_queues/brackets/ Brackets coding task - Learn to Code - Codility Determine whether a given string of parentheses (multiple types) is properly nested. app.codility.com 문제 풀이 괄호가 올바른 쌍을 이루는지 확인하는 문제다. 예를 들어 ({)} 이면 올바른 괄호 쌍 이지만 (}){ 일 경우 올바른 괄호 쌍이 아니다. 코드 def solution(S): stack = [] opens = ('{', '[', '(') close = ('}', ']', ')') for cha..
문제 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 문제 풀이 각 전화번호가 다른 전화번호의 접두어와 일치하는지 확인하는 문제이다. 따라서 전화번호 하나를 선택하여, 다른 전화번호의 접두어인지 확인하면 문제를 풀 수 있다. 코드 def solution(phone_book): for phone_number in phone_book: for other_number in phone_book: if phone_number != other_number and phone_number == other_number..
문제 https://app.codility.com/programmers/lessons/6-sorting/triangle/ Triangle coding task - Learn to Code - Codility Determine whether a triangle can be built from a given set of edges. app.codility.com 문제 풀이 리스트 내의 값들을 조합하여, 삼각형이 되는 경우가 있는지 확인하는 문제이다. 코드 def solution(A): A.sort() for i in range(len(A) - 2): if A[i] + A[i + 1] > A[i + 2]: return 1 return 0 처음에는 음수인 경우를 생각하지 못하고 제출하였는데, 곱하기 이므로 음수..