728x90
1번 배열을 회전시켜보세요
def solution(arrA, arrB):
if len(arrA) != len(arrB):
return False
if func_b(arrA,arrB):
arrA_temp = func_a(arrA)
if func_c(arrA_temp, arrB):
return True
return False
2번 팰린드롬 문제
def solution(s, k):
palindromes = []
length = len(s)
for start_idx in range(length):
for cnt in range(1, length - start_idx + 1):
sub_s = s[start_idx : start_idx + cnt]
if func_b(sub_s) == True:
if func_a(palindromes,sub_s) == False:
palindromes.append(sub_s)
answer = func_c(palindromes,k)
return answer
코드를 안읽어도 대충 눈치만 있으면 풀수있다..!
3번 비숍으로부터 도망쳐
def solution(bishops):
answer = 0
dyx = [[1,1],[-1,1],[-1,-1],[1,-1]]
a = [[0]*9 for _ in range(9)]
for b in bishops :
y = ord(b[0])-64
x = int(b[1])
a[x][y] = 1
for dy,dx in dyx :
ny,nx = y,x
while True :
ny += dy
nx += dx
if 1<=ny<=8 and 1<=nx<=8 :
a[nx][ny] = 1
else : break
answer = sum(a,[]).count(0)-17
return answer
4번 중복 문자열 이어붙이기
얼렁뚱땅 내 풀이 ㅎㅎ
def solution(s1, s2):
answer = 0
# s1 + s2
for i in range(len(s1)) :
if s2.startswith(s1[i:]) :
answer = len(s1) + len(s2) - (len(s1)-i)
break
# s2 + s1
for i in range(len(s2)) :
if s1.startswith(s2[i:]) :
answer = min(answer,len(s1) + len(s2) - (len(s2)-i) )
break
return answer
5번 전광판 문구 출력
def solution(phrases, second):
phrases = '_'*14 + phrases
for i in range(second) :
phrases = phrases[1:] + phrases[0]
return phrases[:14]
맨 앞에 있던 값을 맨 뒤로 붙여준다. second 동안 !!
반응형
'자기계발 > 그외 준비하는것' 카테고리의 다른 글
한번 거절당했던 구글애드센스연동 재검토중 -> 승인완료! (0) | 2023.11.08 |
---|---|
[Python]COS_PRO_기출 3회차[6-10]풀이 (1) | 2022.10.26 |
[Python]COS_PRO_기출2회차[6-10]풀이 (0) | 2022.10.26 |
[Python]COS_PRO_기출2회차[1-5]풀이 (0) | 2022.10.26 |
[Python]COS_PRO_기출 1회차 [6-10]풀이 (1) | 2022.10.23 |