Python 160

[Level.0] 글자 지우기

문제 설명: 문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ indices의 길이 my_string은 영소문자로만 이루어져 있습니다0 ≤ indices의 원소 indices의 원소는 모두 서로 다릅니다.문제 해결def solution(my_string, indices): return ''.join([my for i, my in enumerate(my_string) if i not in indices])

[Level.0] 날짜 비교하기

문제 설명: 정수 배열 date1과 date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다. 만약 date1이 date2보다 앞서는 날짜라면 1을, 아니면 0을 return 하는 solution 함수를 완성해 주세요. 제한사항date1의 길이 = date2의 길이 = 30 ≤ year ≤ 10,0001 ≤ month ≤ 12day는 month에 따라 가능한 날짜로 주어집니다.문제 해결def solution(date1, date2): return int(date1 주석: 파이썬은 [year, month, day]

[Level.0] 등차수열의 특정한 항만 더하기

문제 설명: 두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요. 제한사항1 ≤ a ≤ 1001 ≤ d ≤ 1001 ≤ included의 길이 ≤ 100included에는 true가 적어도 하나 존재합니다.문제 해결def solution(a, d, included): return sum(a+(d*i) for i, include in enumerate(included) if include)

[Level.0] 이차원 배열 대각선 순회하기

문제 설명: 2차원 정수 배열 board와 정수 k가 주어집니다. i + j 제한사항1 ≤ board의 길이 ≤ 1001 ≤ board[i]의 길이 ≤ 1001 ≤ board[i][j] ≤ 10,000모든 board[i]의 길이는 같습니다.0 ≤ k 문제 해결def solution(board, k): answer = 0 n, m = len(board), len(board[0]) for i in range(n): for j in range(m): if i+j answer += board[i][j] else: break return answer 주석: 인덱스 합(i+j)이 k를 초..

[Level.0] 배열 회전시키기

문제 설명: 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 제한사항3 ≤ numbers의 길이 ≤ 20direction은 "left" 와 "right" 둘 중 하나입니다.문제 해결def solution(numbers, direction): if direction == "left": temp = numbers[0] numbers.pop(0) numbers.append(temp) else: temp = numbers[-1] numbers.pop(-1) n..

[Level.0] 외계행성의 나이

문제 설명: 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 제한사항age는 자연수입니다.age ≤ 1,000PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다.문제 해결def solution(age): answer = '' for i in str(age): answer += c..

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

문제 설명: 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ n ≤ 100문제 해결def solution(n): i = 1 while True: if (6*i) % n == 0: return i i += 1import mathdef solution(n): return (n * 6) // math.gcd(n, 6) // 6 주석: 피자 한 판의 조각 수(6)와 사람 수(n)의 최소 공배수를 구하여 모든 사람이..

[Level.0] 세로 읽기

문제 설명: 문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요. 제한사항my_string은 영소문자로 이루어져 있습니다.1 ≤ m ≤ my_string의 길이 ≤ 1,000m은 my_string 길이의 약수로만 주어집니다.1 ≤ c ≤ m문제 해결def solution(my_string, m, c): return ''.join([my_string[m*i:m*(i+1)][c-1] for i in range(len(my_string)//m)])def solution(my_string, m, c): return my_string..

[Level.0] 369게임

문제 설명: 머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. 제한사항1 ≤ order ≤ 1,000,000문제 해결def solution(order): return str(order).count('3') + str(order).count('6') + str(order).count('9')

[Level.0] 특별한 이차원 배열(1)

문제 설명: 정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요. arr[i][j] (0 ≤ i, j 제한사항1 ≤ n ≤ 100문제 해결def solution(n): arr = [[0]*n for _ in range(n)] for i in range(n): arr[i][i] = 1 return arr 주석: i = j 조건은 행과 열의 인덱스가 같은 대각 요소를 의미하므로 전체를 0으로 초기화한 배열에서 arr[i][i] 위치의 값만 1로 갱신한다.