목록프로그래머스 (20)
슈프림 블로그
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..
programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 정수 삼각형 문제와 비슷한 동적계획법 문제이다. [프로그래머스] 동적계획법(Dynamic Programming) - 정수 삼각형 (Python / Swift 풀이) programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, ..
programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 삼각형 구조 삼각형 구조의 데이터는 각 열의 행의 크기가 다른 2차원 배열로 데이터가 들어오게 된다. triangle[0] 의 크기는 1 triangle[1] 의 크기는 2 ... triangle[n] 의 크기는 n+1 문제에서는 정삼각형으로 표현하였지만 * * * * * * * * * * 2차원 배열 형태로 값이 들어오므로 다음과 같이 왼쪽으로 밀어 직각삼각형으로 생각할 수 있다. 0 1 2 3 0 | * 1 | * * 2 | * * * 3 | * ..
조합 구하기 먼저, 주어진 숫자 카드로 만들 수 있는 모든 조합을 구해야 한다. 카드 조합의 가능한 최대 길이는 카드의 개수와 같다. 자리수의 조합이므로, Int형으로 다루는 것 보다 String형으로 다루는 것이 +연산자를 사용하여 편리하게 구현할 수 있을 것이다. Swift에서는 문자열 그 자체로 다루는 것 보다, 문자열을 배열 형태로 변환하여 사용하는 것이 더 편리할 것이다. 조합을 구하는 함수는 반환형을 String을 요소로 갖는 Set로 하는게 좋겠다. Int형이라면 맨 앞자리 숫자가 0일 경우 없애버리기 때문에 그 앞에 새로운 숫자를 붙이게 될 경우, 1+01 => 101이 아니라, 1+01 -> 11이 되어버릴 것이기 때문이다. 조합을 구할 때 재귀를 사용하면 좋겠다. n자리수 숫자 조합을 ..
programmers.co.kr/learn/courses/30/lessons/42840?language=swift 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr n번째 답으로 무엇을 찍었을까?? 수포자들은 일정한 패턴을 반복적으로 사용한다고 한다. 그렇다면 n번째 답으로는 몇번을 찍었을지 예측 할 수 있다! 수포자들이 사용하는 패턴의 길이가 count라고 하면, n번째 위치의 값은 n % count 위치의 패턴 값과 같다. n번째 문제의 정답과 찍은 답 비교 따라서 n번째 문제의 정답(answer 배열)과 ..