Python 160

[Level.0] 점의 위치 구하기

문제 설명: 사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다.좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.제한사항dot의 길이 = 2dot[0]은 x좌표를, dot[1]은 y좌표를 나타냅니다-500 ≤ dot의 원소 ≤ 500dot의 원소는 0이 아닙니..

[Level.0] 피자 나눠 먹기(3)

문제 설명: 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ slice ≤ 101 ≤ n ≤ 100문제 해결def solution(slice, n): return (n-1)//slice +1 주석: 해당 slice와 배열의 사람수라면 피자 1개가 더 추가되기 때문에 최소의 조건을 만족하기 위해 n-1을 수행하면 된다

[Level.0] 배열 자르기

문제 설명: 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ numbers의 길이 ≤ 300 ≤ numbers의 원소 ≤ 1,0000 ≤num1 문제 해결def solution(numbers, num1, num2): return numbers[num1:num2+1] 주석: 배열을 슬라이싱 하면 되는데 근데 [:num2]는 num2의 -1번째 값까지의 접근이므로 num2번째를 포함시키기 위해서는 +1을 해야함

[Level.0] 삼각형의 완성조건(1)

문제 설명: 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.제한사항sides의 원소는 자연수입니다.sides의 길이는 3입니다.1 ≤ sides의 원소 ≤ 1,000문제 해결def solution(sides): sides.sort() return 1 if sides[-1] 주석: 배열의 크기가 3으로 고정되어 있기 때문에 정렬시 2는 무조건 제일 큰 값으로 확인할 수 있다.

[Level.0] 머쓱이보다 키 큰 사람

문제 설명: 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ array의 길이 ≤ 1001 ≤ height ≤ 2001 ≤ array의 원소 ≤ 200문제 해결def solution(array, height): count = 0 for arr in array: if arr > height: count += 1 return count 주석: 배열에 키 값을 넣은다음에 sort()해서 인덱스로 찾아서 할까 하다가? 시간 복잡도..

[Level.0] 최대값 만들기(1)

문제 설명: 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항0 ≤ numbers의 원소 ≤ 10,0002 ≤ numbers의 길이 ≤ 100문제 해결def solution(numbers): numbers.sort() return numbers[-1]*numbers[-2] 주석: numbers를 정렬한 후(오름차순), 마지막 1, 2가 최대값 2개임

[Level.0] 세균 증식

문제 설명: 어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 101 ≤ t ≤ 15문제 해결def solution(n, t): return (2**t)*ndef solution(n, t): for i in range(t): n = n*2 return n 주석: 두배만큼 증가하기 때문, 예: 10시간이면 2^10만큼 증가를 하게 되어있음 거기에 초기 세균 마리수를 곱하면 됨

[Level.0] 피자 나눠 먹기 (1)

문제 설명: 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 제한사항1 ≤ n ≤ 100문제 해결def solution(n): return ((n-1)//7)+1 주석: 7명일때, 피자를 2판 시키게 되므로(즉, 7의 배수일때), 조건을 반만 충족하므로 -1을 수행한다.

[Level.0] 편지

문제 설명: 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 제한사항공백도 하나의 문자로 취급합니다.1 ≤ message의 길이 ≤ 50편지지의 여백은 생각하지 않습니다.message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.문재 해결def solution(message): return len(message)*2 주석: 문자열의 각 문자단위(char)단위도 len으로 셀수있음