목록전체보기 (69)
슈프림 블로그
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의 값은 몇번째 ..
오늘은 Swift의 Array(배열) 관련 함수들을 정리 해볼 생각이다. Array는 여러 데이터를 한번에 묶어서 처리할 때 편리한 데이터 유형이다. ▼▼▼Apple 공식 문서▼▼▼ developer.apple.com/documentation/swift/array Apple Developer Documentation Generic Structure Array | An ordered, random-access collection. developer.apple.com 초기화 및 선언 배열은 가지는 요소의 타입에 따라 자동으로 타입 추론이 가능하다. 선언과 동시에 초기화 할 때는 요소에 값이 들어있다면 자동으로 타입 추론이 이루어지기 때문에 타입을 명시해주지 않아도 된다! var intNumbers = [1,..
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번 문제가 가장 어려웠는데 이 문제와 굉장히 비슷했다! 대기 손님이 있고, 가장 빨리 끝나는 자리를 찾아 순차적으로 배정하는 문제였다. 쿠팡 테스트에서 풀었던 방식처럼 풀었는데 웬걸,,,, 시간 초과남........ 큰일이다. 쿠팡 문제도..
programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 정말 정말 오래 걸린 문제.... 아이디어를 떠올리는 것 조차 하기 힘들었다. 1부터 순서대로 적어보자 처음에는 N=5인 경우, 모든 숫자 조합을 차례로 적어보려 했다. N = 5 1 = 5/5 2 = (5+5)/5 3 = (5+5+5)/5 4 = 5 - 5/5 ... 근데 아무리 이렇게 적어봐도 규칙이 보이지도 않고, 내가 적은 표현 방식보다 더 적은 개수로 표현 가능한지 판단하기도 힘들었다. 확실한건,, 저렇게 풀면 안된다는거,,,,,,, 완전 느껴버림 사용할 개수 순서대로 적어보자 그럼 숫자 순서대로 적어보는 것이 아니라, 사용할 N의 개수 순서대로..
programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 의문.... def solution(prices): answer = [0 for a in range(len(prices))] for i in range(len(prices)): for j in range(i+1, len(prices)): answer[i] += 1 if prices[i] > prices[j]: break return a..