def solution(n, m): # 두수를 입력받아서 최대 공약수 및 최소 공배수를 반환함
answer = []
bigyaksu=0
smallbasu=1000000000
big, small = (n, m) if n > m else (m, n) # 삼항연산자로 둘 중 큰거를 빅에 넣음
for i in range(1, small + 1): # 작은 수를 기준으로 작은 수 자신까지 반복
if (small % i == 0) and (big % i == 0) and (bigyaksu < i): #둘 다 나눌 수 있는 값이며 기존 값보다 크면?
bigyaksu = i
else:
continue # 아무것도 하지말고, 최대공약수 끝
answer.append(bigyaksu)
nst = []
mst = [] # 공배수는 무식하게 해보자
for j in range(1,1000): # 천번씩 곱해서 리스트로 저장
nst.append(j*n)
mst.append(j*m)
for k in nst:
for q in mst:
if k==q:
answer.append(k)
return answer
def solution(t, p): # t 라는 긴 숫자로 이뤄진 문자열을 받아와서 p라는 작은 숫자로 이뤄진 문자열보다 수가 작거나 같으면 횟수를 카운트
answer = 0
temp = 0
s = 0
e = len(p)
check_int = int(p) # 체크해야하는 숫자값
while(len(t) >= e): # 긴 문자열보다 e가 같거나 작을때 while 문 탈출
temp= int(t[s:e]) # 슬라이스를 해서 집어넣음 , 단 정수형태로
if temp <= check_int: # 만약에 슬라이스 한 값이 작거나 같으면 ?
answer += 1 #카운트
s += 1 # 시작은 늘어나야함
e += 1 # 끝도 마찬가지
return answer
def solution(arr1, arr2): # 입력받은 두가지의 행은 서로 더한 결과를 의미함
answer = []
hang = 0
yol = 0
for i in arr1: # 두가지의 행렬은 서로 행과 열의 길이가 같기에 arr1 만 세어줌
hang += 1 # 행은 그냥 계속 셈
if arr1.index(i) == 0: # 열은 그냥 첫번째만 세어주면 되니까 이때만 반복
for k in i:
yol += 1
# 행렬의 길이가 서로 같다했음
for q in range(hang):
templist=[] # 2차원 리스트를 만들어주려면 리스트 자체를 어펜드 해줘야하니까 임시로 만듦
for y in range(yol):
templist.append( arr1[q][y] + arr2[q][y] ) # 해당 행렬에 맞는 원소끼리 더함
answer.append(templist) # 마지막으로 리스트틀 어펜드
return answer
이름은 이상한 문자 만들기 라는 문제
아직 왜 해당 코드가 하나의 테스트 케이스에서 통과하는지 모르겠다. 나중에 복습해야겠다.
def solution(s): # 공백 포함 문자열
answer = ''
wordlist= []
wordlist=s.split(" ")
for i in wordlist:
if wordlist[0] != i:
answer += ' '
for j in range(len(i)):
if (j % 2 == 0): # 짝수 인덱스인 경우 대문자로 바꾸어줘야함
if ord(i[j]) < ord('a') : # 대문자인경우
answer += i[j]
else : # 소문자인 경우
answer += chr(ord(i[j]) - 32)
else : #홀수 인덱스인 경우는 소문자로 바꿔야함
if ord(i[j]) < ord('a') : # 대문자인경우
answer += chr(ord(i[j]) + 32)
else : # 소문자인 경우
answer += i[j]
return answer
정답코드는 다음과 같음
def solution(s): # 공백 포함 문자열
answer = ''
wordlist= []
wordlist=s.split(" ")
for i in wordlist:
for j in range(len(i)):
if j%2==0:
answer += i[j].upper()
else:
answer += i[j].lower()
answer += ' '
return answer[:-1]
'파이썬 공부 > 코딩 테스트 단순 코드' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어!, 없는 숫자 더하기, 나누어 떨어지는 숫자 배열 등 여러가지 쉬운 문제 (0) | 2024.12.06 |
---|