목록Algorithm (5)
슈프림 블로그
programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 학생들이 가지고 있는 체육복의 개수를 저장하는 배열 students 일단 모든 학생이 기본적으로 1벌의 체육복을 가지고 있으므로 1을 n번 반복하여 저장한다. var students = [Int](repeating: 1, count: n) 잃어버린 사람은 체육복을 1벌 빼고, 여벌을 가져온 사람은 체육복을 1벌 증가시킨다. 여기서, lost 배열과 reserve의 값은 몇번째 ..
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 스택 개념을 이용하여 푸는 문제다. 인형을 뽑을 때마다 담는 바구니가 스택이라고 생각하자. 스택에 인형을 담기 전에, peek(마지막에 삽입된 값을 읽어옴) 값과 비교해서 같은 인형이면 pop(마지막에 삽입된 값을 꺼내옴/삭제) 한다. 다른 인형이면 뽑은 인형을 push(스택의 마지막에 값을 삽입함) 한다. 스택의 개념을 사용할 뿐, 배열로 작성해도 된다. Swift의 경우 peek은 last, pop..
문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,4,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 입..
programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 난이도 최상.... 접근 방법이 떠오르지 않아 며칠간 고민했던 문제이다. 다루어야 하는 범위가 큰 만큼, 이분탐색으로 접근해야 타임리밋에 걸리지 않는다! 이분탐색의 기준은 N개의 바위를 제거했을 때, 특정 X 거리가 최소값이 될 수 있는지를 판단하기 위한 것으로 두면 된다. 다시 말하자면, X가 가능한 범위는 1부터 distance까지 가능하므로, 1~distan..
문제를 해결한 과정을 서술한 글입니다. 최종 풀이는 포스팅 맨 밑에서 확인하세요! programmers.co.kr/learn/courses/30/lessons/43238# 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr 얼마 전 쿠팡 캠퍼스 리크루팅 코딩테스트를 봤었다. 2번 문제가 가장 어려웠는데 이 문제와 굉장히 비슷했다! 대기 손님이 있고, 가장 빨리 끝나는 자리를 찾아 순차적으로 배정하는 문제였다. 쿠팡 테스트에서 풀었던 방식처럼 풀었는데 웬걸,,,, 시간 초과남........ 큰일이다. 쿠팡 문제도..