[프로그래머스] [Python] 음양 더하기
2023. 2. 11. 14:06
Programmers/Python
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs [4, 7, 12] [true, false, true] [1, 2, 3] [false, false,..

[프로그래머스] [Python] 가장 큰 수 찾기
2022. 11. 27. 00:05
Programmers/Python
문제 설명 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array 원소 ≤ 1,000 array에 중복된 숫자는 없습니다. 입출력 예 array result [1, 8, 3] [8, 1] [9, 10, 11, 8] [11, 2] 내 풀이 def solution(array): count = 0 for i in array: if i == max(array): break; count += 1 return [max(array), count] 회고 인덱스를 더 간단하게 구할 수 있는 방법이 없을까? 인덱스를 구하는 방법을 모르겠어서 count 변수를 따로 만든..

[프로그래머스] [Python] 외계행성의 나이
2022. 11. 26. 16:38
Programmers/Python
문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMERS-962식 나이를 return 하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age ≤ 1,000 PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다. 입출력 예 age result 23 "cd" 51 "fb" 100 "baa" 내 풀이 def solution(age): answer ..

[프로그래머스] [Python] 배열 회전시키기
2022. 11. 26. 15:54
Programmers/Python
문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction 방향으로 한 칸씩 회전시킨 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left"와 "right" 둘 중 하나입니다. 입출력 예 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 내 풀이 def solution(numbers, direction): if direction == 'right': element = numbers.pop(..

[프로그래머스] [Python] 자릿수 더하기
2022. 11. 14. 02:39
Programmers/Python
문제 설명 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return 하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ n ≤ 1,000,000 입출력 예 n result 1234 10 930211 16 내 풀이 def solution(n): answer = 0 array = [i for i in str(n)] for k in array: answer += int(k) return answer 회고 만만한 range() 함수를 먼저 쓰려고 했는데, 이렇게 하니 for문이 진짜로 930,211번 돌아서 코드가 아예 안 돌아갔다. 그래서 우선 n만큼의 요소를 리스트를 만들어주었다. str() 함수를 통해 문자형 요소를 가지는 리스트로 만들었다. 코드를 간단하게 표현하려고 리스트 컴프리..

[프로그래머스] [Python] 점의 위치 구하기
2022. 11. 14. 02:25
Programmers/Python
문제 설명 사분면은 한 평면을 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의 길이 = 2 dot[0]은 x 좌표를, dot[1]은 y 좌표를 나타냅니다. -500 ≤ dot의 좌표 ≤ 500..

[프로그래머스] [Python] 짝수는 싫어요
2022. 11. 14. 02:14
Programmers/Python
문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 10 [1, 3, 5, 7, 9] 15 [1, 3, 5, 7, 9, 11, 13, 15] 내 풀이 def solution(n): answer = [] for i in range(1, n+1): if i % 2 == 1: answer.append(i) return answer 회고 정수 배열을 만들어야 하기 때문에 range의 범위는 (1, n+1)로 설정하였다.

[프로그래머스] [Python] A로 B 만들기
2022. 11. 14. 02:09
Programmers/Python
문제 설명 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < before의 길이 == after의 길이 < 1000 before와 after는 모두 소문자로 이루어져 있습니다. 입출력 예 before after result "olleh" "hello" 1 "allpe" "apple" 0 내 풀이 def solution(before, after): new_before = sorted([i for i in before]) new_after = sorted([i for i in after]) for i in new_before: if new_be..