1번 . 음식 전문점
상속을 받을 때
Class PizzaStore(DeliveryStore) :
이런식으로 인터페이스 이름( DeliveryStore)을 매개변수로 준다.
클래스 내부의 메서드의 선언부는 해당 인터페이스의 추상 메서드와 동일한 선언부로 선언해준다!!
def set_order_list(self, order_list):
for order in order_list:
self.order_list.append(order)
def get_total_price(self):
total_price = 0
for order in self.order_list:
for menu in self.menu_list:
if order == menu.name:
total_price += menu.price
return total_price
이렇게!!
2번 해밍거리 구하기
def func_a(string, length):
padZero = ""
padSize = length - len(string)
for i in range(padSize):
padZero += "0"
return padZero + string
def solution(binaryA, binaryB):
max_length = max(len(binaryA), len(binaryB))
binaryA = func_a(binaryA, max_length)
binaryB = func_a(binaryB, max_length)
hamming_distance = 0
for i in range(max_length):
if binaryA[i] != binaryB[i]:
hamming_distance += 1
return hamming_distance
padSize는 긴 거리에서 string의 길이를 빼주면 된다.
만약 해당 string이 더 작으면 0을 붙이고 해당 string과 동일하면 0을 안붙인다.
if binaryA[i] != binaryB[i] : 일 때 ! 서로 다를 때 hamming_distance를 1증가시킨다.
3번 계산기
def solution(expression):
exp_index = func_b(expression)
first_num, second_num = func_c(expression,exp_index)
result = func_a(first_num,second_num,expression[exp_index])
return result
func_b를 이용해 연산자의 인덱스를 구하고
func_c를 이용해 연산할 2개의 숫자를 구하고
func_a를 이용해 앞서 구한 2개의 숫자와 연산자를 매개변수로 주어서 result를 반환하도록 한다.
4번 타임머신
def solution(num):
answer = ''
num +=1
for i in str(num) :
if i =='0' : i = '1'
answer += i
return answer
1을 더한 후 str로 만든 num을 돌면서
'0'이라면 1을 넣고 아니면 그냥 넣어서 answer를 만들어 반환한다.
여기 for문을 한줄로 만들어서 join으로 묶을 수도 있다.
def solution(num):
answer = ''
num +=1
answer = ''.join('1' if i=='0' else i for i in str(num))
return answer
5번 소용돌이 [ 달팽이 문제]
def solution(n):
mp = [[0]*n for _ in range(n)]
answer = 0
dir = 0 # 방향 0,1,2,3,0,1,2,3...
loop = n
r,c = 0,-1 # 좌표의 초기값
dr = [0,1,0,-1]
dc = [1,0,-1,0]
num = 0
while num < n*n :
# 해당 방향으로 쭉 움직이면서 채움
for _ in range(loop) :
r+=dr[dir]
c+=dc[dir]
num += 1
mp[r][c] = num
# 방향을 바꾼다. [0,1,2,3,0,1,2,3...]
dir = (dir+1)%4
# 방향이 홀수일때 숫자가 줄어든다.
if dir%2 : loop -=1
# 다 구한 후 대각선 수들의 합을 구한다.
for i in range(n) :
answer += mp[i][i]
return answer
첫 좌표가 [0,0]인데 방향은 [0,1]으로 가야하므로 첫 r,c 좌표를 [0,-1]으로 지정하였다.
[0,-1] + [0,1] = [0,0]
참고 :
COS PRO 1급 기출문제 - Python - 구름EDU
YBMIT에서 시행하는 COS Pro 자격증으로 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.
edu.goorm.io
[무료] [EduAtoZ] Python CosPro 1급 예상문제 풀이(40문제) - 인프런 | 강의
본강의는 CosPro 1급 시험을 준비하는 분을 위한 과정으로 시험 주관사인 (주)와이비엠넷에서 공개한 COS Pro 1급 샘플 문제 풀이 과정입니다., - 강의 소개 | 인프런...
www.inflearn.com
'자기계발 > 그외 준비하는것' 카테고리의 다른 글
[Python]COS_PRO_기출2회차[1-5]풀이 (0) | 2022.10.26 |
---|---|
[Python]COS_PRO_기출 1회차 [6-10]풀이 (1) | 2022.10.23 |
[코테후기]네이버 부스트 캠프 _ 1차 코딩테스트 후기 (0) | 2022.06.27 |
소마 코테 후기 (0) | 2022.03.05 |
소마 13기 지원 했드아 (0) | 2022.02.17 |