본문 바로가기

Python

(94)
Python 문제 38 #문제8 교실에 선풍기가 4대 있습니다. 선풍기는 한 대당 학생 k명에게 바람을 보냅니다. 모든 학생에게 바람을 보내기 위해서 선풍기를 몇 대 더 구매해야 할지 구하려고 합니다. 예를 들어, 선풍기 한 대당 학생 3명에게 바람을 보낼 수 있을 때, 한 교실당 학생 수가 [15, 17, 19, 10, 23] 명이고 선풍기가 4대 있으면 교실당 학생 [3, 5, 7, 0, 11] 명을 위해 선풍기를 더 구매해야 합니다. 이때, 교실별로 선풍기가 [1, 2, 3, 0, 4] 대씩 더 필요하니 총 선풍기 10대를 추가로 구매해야 합니다. 선풍기가 바람을 보내는 학생 수 k와 교실별 학생 수가 담긴 리스트 student가 주어질 때, 선풍기를 최소 몇 대 사야 하는지를 return 하도록 solution 함수를 ..
Python 문제 37 #문제7 카프리카 수는 다음을 만족하는 수를 뜻합니다. * 자신의 제곱수를 둘로 나누어 더한 값이 자기 자신과 같습니다. * 단, 둘로 나뉜 수는 모두 양수여야 합니다. 예를 들어, 55^2 는 3,025입니다. 3,025는 3과 025, 30과 25, 302와 5로 나눌 수 있습니다. 이때 30+25 = 55이므로 55는 카프리카 수입니다. 자연수 k가 매개변수로 주어질 때, k 이하인 모든 카프리카 수를 리스트에 담아 오름차순으로 정렬하여 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되었기 때문에, 코드가 올바르게 동작하지 않습니다. 주어진 코드에서 _**한 줄**_만 변경해 모든 입력에 대해 올바르게 동작하도록 수정해주세요. --- #####매개변수 설명 자연..
소수 구하기 출처 : https://wikidocs.net/21638
Python 문제 36 #문제6 어떤 수를 서로 다른 소수 3개의 합으로 표현하는 방법의 수를 구하려 합니다. 예를 들어 33은 총 4가지 방법으로 표현할 수 있습니다. 1. 3+7+23 2. 3+11+19 3. 3+13+17 4. 5+11+17 자연수 n이 매개변수로 주어질 때, n을 서로 다른 소수 3개의 합으로 표현하는 방법의 수를 return 하도록 solution 함수를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. ※ 1,000 이하인 소수는 168개 있습니다. --- #####매개변수 설명 n이 solution 함수의 매개변수로 주어집니다. * n은 1,000 이하인 자연수입니다. --- #####return 값 설명 n을 서로 다른 소수 3개의 합으로 표현하는 방법의 수를 return 해주세요. * 만..
Python 문제 35 #문제5 핸드폰 화면에 문구를 출력해주는 전광판 어플이 있습니다. 문구는 "happy-birthday"로 설정하였습니다. 전광판 어플은 다음과 같은 규칙으로 화면에 문구를 출력해 줍니다. * 어플은 화면에 14자 문구를 출력합니다. * 문구는 1초에 왼쪽으로 한 칸씩 움직입니다. * 문구 이외의 부분은 "_"로 표시됩니다. * 어플은 설정한 문구를 화면에 반복해 출력합니다. * 어플은 문구가 다 지나가면 설정한 문구를 반복해 보여줍니다. ``` 예를 들어, 처음에는 화면에 "______________"가 보입니다. 3초 뒤에는 화면에 "___________hap"가 보입니다. 14초 뒤에는 화면에 "happy-birthday"가 보입니다. 20초 뒤에는 화면에 "birthday_____"가 보입니다. 2..
Python 문제 34 #문제4 두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다. 예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s2 뒤에 s1를 붙이면 새 문자열의 길이는 9입니다. 그러나 s1 뒤에 s2을 붙이면 새 문자열의 길이는 8로, 더 짧게 만들 수 있습니다. 두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 함수를 완성해주세요. ##### 제한 조건 두 문자열 s1과 s2가 solution 함수의 매개변수로 주어집니다. * s1과 s2의 길이는 1 이상 100 이하입니다. ..
sorted(정렬) 함수 list를 수정하는 list.sort()메서드와 iterable데이터를 정렬하는 sorted() 함수가 있다. a = [3, 4, 5, 1, 2] a.sort() print(a) >>> [1, 2, 3, 4, 5] a = sorted([4, 2, 1, 5, 3]) print(a) >>> [1, 2, 3, 4, 5] list.sort() 메서드는 파괴적 이고 sorted() 함수는 비파괴적이라는 차이점이있다. 또다른 점은 list.sort()는 list만 가능하지만 sorted()는 iterable데이터면 모든 가능하다. a = sorted({4: 'D', 2: 'B', 3: 'B', 1: 'E', 5: 'A'}) print(a) >>> [1, 2, 3, 4, 5] list.sort()와 sorted는 모..
Python 문제 33 #문제3 체스에서 비숍(Bishop)은 아래 그림과 같이 대각선 방향으로 몇 칸이든 한 번에 이동할 수 있습니다. 만약, 한 번에 이동 가능한 칸에 체스 말이 놓여있다면 그 체스 말을 잡을 수 있습니다. 8 x 8 크기의 체스판 위에 여러 개의 비숍(Bishop)이 놓여있습니다. 이때, 비숍(Bishop)들에게 _**한 번에**_ 잡히지 않도록 새로운 말을 놓을 수 있는 빈칸의 개수를 구하려고 합니다. 위 그림에서 원이 그려진 칸은 비숍에게 한 번에 잡히는 칸들이며, 따라서 체스 말을 놓을 수 있는 빈칸 개수는 50개입니다. 8 x 8 체스판에 놓인 비숍의 위치 bishops가 매개변수로 주어질 때, 비숍에게 한 번에 잡히지 않도록 새로운 체스 말을 놓을 수 있는 빈칸 개수를 return 하도록 solu..