본문 바로가기

728x90

프로그래머스

(43)
[프로그래머스] Lv.0 평행 [Python] 4개의 점 중에서 2개씩 이어서 평행이 되는지 확인하는 문제 더보기 문제 설명 점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] 주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 dots의 길이 = 4 dots의 원소는 [x, y] 형태이며 x, y는 정수입니다. 0 ≤ x, y ≤ 100 서로 다른 두개 이상의 점이 겹치는 경우는 없습니다. 두 직선이 겹치는 경우$($일치하는 경우$)$에도 1을 return 해주세요. 임의의 두 점을 이은 직선이 x축 또는 y축과 평행한 경우는 주어지..
[프로그래머스] Lv.0 정수를 나선형으로 배치하기 [Python] 시계방향, 바깥에서 안으로 들어가는 나선 방향을 따라 숫자를 배치하는 문제 더보기 문제 설명 양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 $n^2$ 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요. 제한사항 1 ≤ n ≤ 30 nxn 행렬 생성 $($0,0$)$ 부터 조건에 따라 숫자를 배치하기 위해 초기값 $($0,0$)$ 설정 dr = $($0,1,0,-1$)$ : 0, 하, 0, 상 dc = $($1,0,-1,0$)$: 우, 0, 좌, 0 >>> 시계방향$($우, 하, 좌, 상$)$으로 이동 첫 바퀴는 각 방향마다 n-1 번씩 이동하면 한 바퀴를 돌아서 원자리로 돌아옵니다. 그래서 좌,하 방향으로..
[프로그래머스] Lv.0 옹알이[1] [Python] 발음 가능한 문자열만 사용해서 가능한 옹알이의 개수를 구하는 문제 발음 가능한 문자열 배열: ["aya", "ye", "woo", "ma"] $($각 문자열은 최대 1번 사용$)$ https://school.programmers.co.kr/learn/courses/30/lessons/120956 더보기 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한$($이어 붙인$)$ 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ..
[프로그래머스] Lv.3 택시 요금 [Python] [문제] 지점의 개수 n, 출발지점을 나타내는 s, A의 도착지점을 나타내는 a, B의 도착지점을 나타내는 b, 지점 사이의 예상 택시요금을 나타내는 fares가 매개변수로 주어집니다. 이때, A, B 두 사람이 s에서 출발해서 각각의 도착 지점까지 택시를 타고 간다고 가정할 때, 최저 예상 택시요금을 계산해서 return 하도록 solution 함수를 완성해 주세요. 만약, 아예 합승을 하지 않고 각자 이동하는 경우의 예상 택시요금이 더 낮다면, 합승을 하지 않아도 됩니다. https://school.programmers.co.kr/learn/courses/30/lessons/72413 더보기 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 밤늦게 귀가할 때 안전을 위해 ..
[프로그래머스] Lv.2 두 원 사이의 정수 쌍 [Python] 2차원 직교 좌표계에서 중심이 원점인 서로 다른 크기의 두 원의 사이$($경계 포함$)$ 점 중에서 좌표가 모두 정수인 점의 개수를 구하는 문제 더보기 문제 설명 x축과 y축으로 이루어진 2차원 직교 좌표계에 중심이 원점인 서로 다른 크기의 원이 두 개 주어집니다. 반지름을 나타내는 두 정수 r1, r2가 매개변수로 주어질 때, 두 원 사이의 공간에 x좌표와 y좌표가 모두 정수인 점의 개수를 return하도록 solution 함수를 완성해주세요. ※ 각 원 위의 점도 포함하여 셉니다. 제한 사항 1 ≤ r1 < r2 ≤ 1,000,000 접근 방법: x축의 양의 부분을 포함하여 1사분면 위의 점의 개수를 구한 후, 그 값의 4배를 출력 다음 두 구간 0 ≤ y < r1 과 r1 ≤ y < r2 으로 구분..
[프로그래머스] Lv.2 올바른 괄호 [Python] 주어진 숫자에서 k개의 digit을 빼서 가장 큰 수를 만드는 문제 더보기 문제 설명 괄호가 바르게 짝지어졌다는 것은 '$($' 문자로 열렸으면 반드시 짝지어서 '$)$' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "$()()$" 또는 "$(())()$" 는 올바른 괄호입니다. "$)()($" 또는 "$(()($" 는 올바르지 않은 괄호입니다. '$($' 또는 '$)$' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '$($' 또는 '$)$' 로만 이루어져 있습니다. 처음 작성 "$($"면..
[프로그래머스] Lv.2 큰 수 만들기 [Python] 주어진 숫자에서 k개의 digit을 빼서 가장 큰 수를 만드는 문제 더보기 문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연..